HyphaeVM - WIP
This commit is a WORK IN PROGRESS for the base implementation of the HyphaeVM. This will be squashed into a larger commit eventually when the work of implementing the HyphaeVM is finished. Of note, the ISA is mostly finished and much of the VM design is in place. Yet to be done are a few traps in mycelium, migrating pieces like the number package and the sexpr package into the VM package, and of course much testing. Signed-off-by: Ava Affine <ava@sunnypup.io>
This commit is contained in:
parent
3a0a141738
commit
4ad319213d
17 changed files with 2073 additions and 17 deletions
|
|
@ -16,6 +16,7 @@
|
|||
*/
|
||||
|
||||
use core::fmt::Display;
|
||||
use core::cell::RefCell;
|
||||
|
||||
use crate::lexer::{
|
||||
LexError,
|
||||
|
|
@ -414,11 +415,11 @@ impl Parser {
|
|||
}
|
||||
|
||||
if is_bv {
|
||||
return Ok(Rc::from(Datum::ByteVector(bv_stack)))
|
||||
return Ok(Rc::from(Datum::ByteVector(RefCell::from(bv_stack))))
|
||||
}
|
||||
|
||||
if token.token_type == LexTokenType::VectorStart {
|
||||
return Ok(Rc::from(Datum::Vector(lex_stack)))
|
||||
return Ok(Rc::from(Datum::Vector(RefCell::from(lex_stack))))
|
||||
}
|
||||
|
||||
// handle an empty list
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue