aboutsummaryrefslogtreecommitdiffstats
path: root/src/compiler.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/compiler.rs')
-rw-r--r--src/compiler.rs11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/compiler.rs b/src/compiler.rs
index d12ee4b..c579c98 100644
--- a/src/compiler.rs
+++ b/src/compiler.rs
@@ -753,16 +753,16 @@ impl Compiler {
self.eat();
let else_jmp = add_op(self, block, Op::Illegal);
- block.patch(Op::JmpFalse(block.curr()), jump);
+ block.patch(jump, Op::JmpFalse(block.curr()));
match self.peek() {
Token::If => self.if_statment(block),
Token::LeftBrace => self.scope(block),
_ => error!(self, "Epected 'if' or '{' after else."),
}
- block.patch(Op::Jmp(block.curr()), else_jmp);
+ block.patch(else_jmp, Op::Jmp(block.curr()));
} else {
- block.patch(Op::JmpFalse(block.curr()), jump);
+ block.patch(jump, Op::JmpFalse(block.curr()));
}
}
@@ -799,12 +799,11 @@ impl Compiler {
});
add_op(self, block, Op::Jmp(cond));
- // patch_jmp!(Op::Jmp, cond_cont => block.curr());
- block.patch(Op::Jmp(block.curr()), cond_cont);
+ block.patch(cond_cont, Op::Jmp(block.curr()));
self.scope(block);
add_op(self, block, Op::Jmp(inc));
- block.patch(Op::JmpFalse(block.curr()), cond_out);
+ block.patch(cond_out, Op::JmpFalse(block.curr()));
});
}