aboutsummaryrefslogtreecommitdiffstats
path: root/src/vm.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/vm.rs')
-rw-r--r--src/vm.rs14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/vm.rs b/src/vm.rs
index 7ab2235..7ba7f19 100644
--- a/src/vm.rs
+++ b/src/vm.rs
@@ -1,5 +1,5 @@
-#[derive(Debug, Clone, Copy)]
+#[derive(Debug, Clone, Copy, PartialEq)]
pub enum Value {
Float(f64),
Int(i64),
@@ -17,6 +17,8 @@ pub enum Op {
Div,
Neg,
+ CompEq,
+
Print,
Return,
}
@@ -143,12 +145,10 @@ impl VM {
}
}
- Op::Mul => {
- todo!();
- }
-
- Op::Div => {
- todo!();
+ Op::CompEq => {
+ let b = self.stack.pop().unwrap();
+ let a = self.stack.pop().unwrap();
+ self.stack.push(Value::Bool(a == b));
}
Op::Print => {