summaryrefslogtreecommitdiffstats
path: root/src/forth/mod.rs
diff options
context:
space:
mode:
authorBrian Cully <bjc@spork.org>2025-08-24 14:22:48 -0400
committerBrian Cully <bjc@spork.org>2025-08-24 15:36:55 -0400
commit0efb15a9eb706896cdabb9ca5d2b0c295c2dffcf (patch)
treed4bb89acd2ab1dd45ee40d9dffed5a4b73554b12 /src/forth/mod.rs
parent57f32dc1d36650a5f282f1ba3906e9772b89709d (diff)
downloadautomathon-0efb15a9eb706896cdabb9ca5d2b0c295c2dffcf.tar.gz
automathon-0efb15a9eb706896cdabb9ca5d2b0c295c2dffcf.zip
rename parser → compiler, interp → vm
reflects reality better
Diffstat (limited to 'src/forth/mod.rs')
-rw-r--r--[-rwxr-xr-x]src/forth/mod.rs24
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");
}
}