diff options
| author | Brian Cully <bjc@spork.org> | 2025-08-25 12:25:30 -0400 |
|---|---|---|
| committer | Brian Cully <bjc@spork.org> | 2025-08-25 12:25:30 -0400 |
| commit | 8275403e955e8998c61ecaa07d70949e3bd53a66 (patch) | |
| tree | 3f0989d16931d889a4938f742f8da68d3e6e362b /src/forth/compiler.rs | |
| parent | 1c81d26b706abb43ba71eb36cdb622dae03e95cd (diff) | |
| download | automathon-8275403e955e8998c61ecaa07d70949e3bd53a66.tar.gz automathon-8275403e955e8998c61ecaa07d70949e3bd53a66.zip | |
tail-position if no longer needs ret
Diffstat (limited to 'src/forth/compiler.rs')
| -rw-r--r-- | src/forth/compiler.rs | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/forth/compiler.rs b/src/forth/compiler.rs index f593806..e8aaa7f 100644 --- a/src/forth/compiler.rs +++ b/src/forth/compiler.rs @@ -133,7 +133,7 @@ impl<'a> Compiler<'a> { self.bc_mut().0.pop(); self.bc_mut().0.push(OpCode::TIf(t, f)); // technically only needed if âfâ is None, but whatever. - self.bc_push(OpCode::Ret, anno); + //self.bc_push(OpCode::Ret, anno); }, _ => self.bc_push(OpCode::Ret, anno), } @@ -352,7 +352,7 @@ mod tests { let main = &comp.wordlist.0[0]; assert_eq!(main, vec![OpCode::Call(1)]); let t = &comp.wordlist.0[1]; - assert_eq!(t, vec![OpCode::TIf(2, None), OpCode::Ret]); + assert_eq!(t, vec![OpCode::TIf(2, None)]); let tr = &comp.wordlist.0[2]; assert_eq!(tr, vec![OpCode::Num(1), OpCode::Num(2), OpCode::Add, OpCode::Ret]); } @@ -365,7 +365,7 @@ mod tests { let main = &comp.wordlist.0[0]; assert_eq!(main, vec![OpCode::Call(1)]); let t = &comp.wordlist.0[1]; - assert_eq!(t, vec![OpCode::TIf(2, Some(3)), OpCode::Ret]); + assert_eq!(t, vec![OpCode::TIf(2, Some(3))]); let tr = &comp.wordlist.0[2]; assert_eq!(tr, vec![OpCode::Num(1), OpCode::Num(2), OpCode::Add, OpCode::Ret]); let fl = &comp.wordlist.0[3]; |
