fixed the last span/line number bug

This commit is contained in:
nora 2021-09-19 14:18:02 +02:00
parent 8acef7bbff
commit a24b93fd23
3 changed files with 15 additions and 21 deletions

View file

@ -28,12 +28,12 @@ impl Vm<'_> {
match self.stmts.get(pc).cloned() {
Some(Stmt::Inc(r)) => self.registers[r] += 1,
Some(Stmt::Dec(r)) => self.registers[r] -= 1,
Some(Stmt::IsZero(r, line)) => {
Some(Stmt::IsZero(r, index)) => {
if self.registers[r] == 0 {
self.pc = line - 1;
self.pc = index - 1;
}
}
Some(Stmt::Jump(line)) => self.pc = line - 1,
Some(Stmt::Jump(index)) => self.pc = index - 1,
Some(Stmt::Stop) => return VmState::Stop,
None => return VmState::OutOfBounds,
}