diff options
| author | Edvard Thörnros <edvard.thornros@gmail.com> | 2021-01-10 22:50:04 +0100 |
|---|---|---|
| committer | Edvard Thörnros <edvard.thornros@gmail.com> | 2021-01-10 22:50:04 +0100 |
| commit | dde985c7abb4dbe37281131b8b36a75302e48438 (patch) | |
| tree | 82039adbf7a2cad15dc4bdd2116bd8dca27fff48 /src/vm.rs | |
| parent | 6d94077778d6043e135640f40b09e2582d3a3064 (diff) | |
| download | sylt-dde985c7abb4dbe37281131b8b36a75302e48438.tar.gz | |
VARIABLES!!!
Diffstat (limited to 'src/vm.rs')
| -rw-r--r-- | src/vm.rs | 12 |
1 files changed, 12 insertions, 0 deletions
@@ -40,6 +40,10 @@ pub enum Op { AssertEqual, + ReadLocal(usize), + Assign(usize), + + Print, Return, } @@ -247,6 +251,14 @@ impl VM { self.stack.push(Value::Bool(a == b)); } + Op::ReadLocal(slot) => { + self.stack.push(self.stack[slot]); + } + + Op::Assign(slot) => { + self.stack[slot] = self.stack.pop().unwrap(); + } + Op::Print => { println!("PRINT: {:?}", self.stack.pop()); } |
