aboutsummaryrefslogtreecommitdiffstats
path: root/src/compiler.rs
diff options
context:
space:
mode:
authorEdvard Thörnros <edvard.thornros@gmail.com>2021-01-11 14:51:55 +0100
committerEdvard Thörnros <edvard.thornros@gmail.com>2021-01-11 14:51:55 +0100
commitcf9ad28eb0a62c2c89f2f679157a54eded97c1cf (patch)
tree3aec0cbf020c0e6e55f066269326d2613aed58a0 /src/compiler.rs
parent6c631112c5dc05f861100471d97023dddaa17283 (diff)
downloadsylt-cf9ad28eb0a62c2c89f2f679157a54eded97c1cf.tar.gz
If-statements
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);
}