aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2025-02-02 19:57:08 +0000
committerMichael Williamson <mike@zwobble.org>2025-02-02 20:13:20 +0000
commit67cfee13acaea27b5d4daf5b58ade49d9a14363b (patch)
treefb283fe6ae2a5918e74b1dc6ba6af1b9bb77e283 /src/main/java
parentc318dac1f71e09e6baa2b090264c221f45021868 (diff)
Generate Shid instructions for int multiply
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/shedlang/compiler/ast/typed/TypedBinaryOperator.java1
-rw-r--r--src/main/java/org/shedlang/compiler/shid/ShidCodeGen.java4
2 files changed, 3 insertions, 2 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 d1f32073..1a53d9c5 100644
--- a/src/main/java/org/shedlang/compiler/ast/typed/TypedBinaryOperator.java
+++ b/src/main/java/org/shedlang/compiler/ast/typed/TypedBinaryOperator.java
@@ -10,6 +10,7 @@ public enum TypedBinaryOperator {
INT_GREATER_THAN_OR_EQUAL(Types.BOOL),
INT_LESS_THAN(Types.BOOL),
INT_LESS_THAN_OR_EQUAL(Types.BOOL),
+ INT_MULTIPLY(Types.BOOL),
INT_NOT_EQUAL(Types.BOOL),
INT_SUB(Types.INT),
STRING_ADD(Types.STRING);
diff --git a/src/main/java/org/shedlang/compiler/shid/ShidCodeGen.java b/src/main/java/org/shedlang/compiler/shid/ShidCodeGen.java
index 02838d99..78226cce 100644
--- a/src/main/java/org/shedlang/compiler/shid/ShidCodeGen.java
+++ b/src/main/java/org/shedlang/compiler/shid/ShidCodeGen.java
@@ -47,14 +47,14 @@ public class ShidCodeGen {
new ShidIntLessThan(node.source());
case INT_LESS_THAN_OR_EQUAL ->
new ShidIntLessThanOrEqual(node.source());
+ case INT_MULTIPLY ->
+ new ShidIntMultiply(node.source());
case INT_NOT_EQUAL ->
new ShidIntNotEqual(node.source());
case INT_SUB ->
new ShidIntSub(node.source());
case STRING_ADD ->
new ShidStringAdd(node.source());
- default ->
- throw new UnsupportedOperationException("TODO");
});
return context;