diff options
Diffstat (limited to 'src/forth/mod.rs')
| -rw-r--r--[-rwxr-xr-x] | src/forth/mod.rs | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/src/forth/mod.rs b/src/forth/mod.rs index 063b40e..f244ef4 100755..100644 --- a/src/forth/mod.rs +++ b/src/forth/mod.rs @@ -1,16 +1,16 @@ -pub mod interp; -pub mod parser; +pub mod compiler; +pub mod vm; #[cfg(test)] mod tests { use super::{ - interp::{Interp, WordList}, - parser::Parser + vm::{VM, WordList}, + compiler::Compiler, }; - fn parser_for(text: &str) -> Parser { - let mut p = Parser::new(text); - p.parse().expect("badparse"); + fn parser_for(text: &str) -> Compiler { + let mut p = Compiler::new(text); + p.compile().expect("badparse"); p } @@ -26,10 +26,10 @@ mod tests { let prog = ": fac dup 1 > if dup 1 - fac * then ; 5 fac\n"; let p = parser_for(prog); eprintwordlist(&p.wordlist); - let mut interp = Interp::new(p.wordlist); - interp.run().expect("should run to completion"); - eprintln!("stack: {:?}", interp.stack); - assert_eq!(interp.stack.0.len(), 1, "factorial result stack len"); - assert_eq!(interp.stack.0[0], 120, "factorial result value"); + let mut vm = VM::new(p.wordlist); + vm.run().expect("should run to completion"); + eprintln!("stack: {:?}", vm.stack); + assert_eq!(vm.stack.0.len(), 1, "factorial result stack len"); + assert_eq!(vm.stack.0[0], 120, "factorial result value"); } } |
