aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2023-07-07 18:32:50 +0100
committerMichael Williamson <mike@zwobble.org>2023-07-07 18:32:50 +0100
commit856895255a261a0d21a8b4a0271a75ed3a2cf7ba (patch)
treee7a2f83fc9970729970a97ee2581fa9844826e31 /src/main/java
parentd42333cb45df71c033d8b542f6df5b3b4fcdf8b4 (diff)
Add typed int equals node
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/shedlang/compiler/ast/typed/TypedBinaryOperator.java3
-rw-r--r--src/main/java/org/shedlang/compiler/stackir/StackCompiler.java2
2 files changed, 4 insertions, 1 deletions
diff --git a/src/main/java/org/shedlang/compiler/ast/typed/TypedBinaryOperator.java b/src/main/java/org/shedlang/compiler/ast/typed/TypedBinaryOperator.java
index 9f5fdf2c..eac3cbce 100644
--- a/src/main/java/org/shedlang/compiler/ast/typed/TypedBinaryOperator.java
+++ b/src/main/java/org/shedlang/compiler/ast/typed/TypedBinaryOperator.java
@@ -5,7 +5,8 @@ import org.shedlang.compiler.types.Types;
public enum TypedBinaryOperator {
INT_ADD(Types.INT),
- INT_SUB(Types.INT);;
+ INT_EQUALS(Types.BOOL),
+ INT_SUB(Types.INT);
private final Type type;
diff --git a/src/main/java/org/shedlang/compiler/stackir/StackCompiler.java b/src/main/java/org/shedlang/compiler/stackir/StackCompiler.java
index 75afaa31..4b2bdf5b 100644
--- a/src/main/java/org/shedlang/compiler/stackir/StackCompiler.java
+++ b/src/main/java/org/shedlang/compiler/stackir/StackCompiler.java
@@ -18,6 +18,8 @@ public class StackCompiler {
.plus(switch (node.operator()) {
case INT_ADD ->
new IntAddInstruction(node.source());
+ case INT_EQUALS ->
+ new IntEqualsInstruction(node.source());
case INT_SUB ->
new IntSubInstruction(node.source());
});