aboutsummaryrefslogtreecommitdiffstats
path: root/src/compiler.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/compiler.rs')
-rw-r--r--src/compiler.rs8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/compiler.rs b/src/compiler.rs
index f691922..8275618 100644
--- a/src/compiler.rs
+++ b/src/compiler.rs
@@ -380,6 +380,14 @@ impl Compiler {
self.assign(&name, block);
}
+ (Token::If, _, _, _) => {
+ self.eat();
+ self.expression(block);
+ let jump = block.add(Op::Illegal, self.line());
+ self.scope(block);
+ block.patch(Op::JmpFalse(block.curr()), jump);
+ }
+
(Token::LeftBrace, _, _, _) => {
self.scope(block);
}