diff options
| author | Edvard Thörnros <edvard.thornros@gmail.com> | 2021-01-11 14:51:55 +0100 |
|---|---|---|
| committer | Edvard Thörnros <edvard.thornros@gmail.com> | 2021-01-11 14:51:55 +0100 |
| commit | cf9ad28eb0a62c2c89f2f679157a54eded97c1cf (patch) | |
| tree | 3aec0cbf020c0e6e55f066269326d2613aed58a0 /src/compiler.rs | |
| parent | 6c631112c5dc05f861100471d97023dddaa17283 (diff) | |
| download | sylt-cf9ad28eb0a62c2c89f2f679157a54eded97c1cf.tar.gz | |
If-statements
Diffstat (limited to 'src/compiler.rs')
| -rw-r--r-- | src/compiler.rs | 8 |
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); } |
