aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2025-02-02 18:40:12 +0000
committerMichael Williamson <mike@zwobble.org>2025-02-02 18:40:12 +0000
commitd90948d4959d7895af5f8955cac8c1bb39ceb859 (patch)
treef071f56476a034e471383a459809de108abad1c3 /src/main/java
parent5b08c1351eb2347424e5e722deaf6d30b7ce283c (diff)
Parse less than or equal expressions
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/shedlang/compiler/ast/untyped/UntypedBinaryOperator.java1
-rw-r--r--src/main/java/org/shedlang/compiler/parser/Parser.java1
-rw-r--r--src/main/java/org/shedlang/compiler/typechecker/TypeChecker.java3
3 files changed, 5 insertions, 0 deletions
diff --git a/src/main/java/org/shedlang/compiler/ast/untyped/UntypedBinaryOperator.java b/src/main/java/org/shedlang/compiler/ast/untyped/UntypedBinaryOperator.java
index 17fcd6ac..04144f0f 100644
--- a/src/main/java/org/shedlang/compiler/ast/untyped/UntypedBinaryOperator.java
+++ b/src/main/java/org/shedlang/compiler/ast/untyped/UntypedBinaryOperator.java
@@ -4,6 +4,7 @@ public enum UntypedBinaryOperator {
ADD,
EQUALS,
LESS_THAN,
+ LESS_THAN_OR_EQUAL,
NOT_EQUAL,
SUB
}
diff --git a/src/main/java/org/shedlang/compiler/parser/Parser.java b/src/main/java/org/shedlang/compiler/parser/Parser.java
index b09ff4db..510a912f 100644
--- a/src/main/java/org/shedlang/compiler/parser/Parser.java
+++ b/src/main/java/org/shedlang/compiler/parser/Parser.java
@@ -346,6 +346,7 @@ public class Parser {
new BinaryOperationParser(TokenType.SYMBOL_EQUALS_EQUALS, OperatorPrecedence.EQUALS, UntypedBinaryOperator.EQUALS),
new BinaryOperationParser(TokenType.SYMBOL_BANG_EQUALS, OperatorPrecedence.EQUALS, UntypedBinaryOperator.NOT_EQUAL),
new BinaryOperationParser(TokenType.SYMBOL_LESS_THAN, OperatorPrecedence.RELATIONAL, UntypedBinaryOperator.LESS_THAN),
+ new BinaryOperationParser(TokenType.SYMBOL_LESS_THAN_OR_EQUAL, OperatorPrecedence.RELATIONAL, UntypedBinaryOperator.LESS_THAN_OR_EQUAL),
new BinaryOperationParser(TokenType.SYMBOL_PLUS, OperatorPrecedence.ADD, UntypedBinaryOperator.ADD),
new BinaryOperationParser(TokenType.SYMBOL_MINUS, OperatorPrecedence.ADD, UntypedBinaryOperator.SUB),
new CallParser()
diff --git a/src/main/java/org/shedlang/compiler/typechecker/TypeChecker.java b/src/main/java/org/shedlang/compiler/typechecker/TypeChecker.java
index 489ba1f7..209b4326 100644
--- a/src/main/java/org/shedlang/compiler/typechecker/TypeChecker.java
+++ b/src/main/java/org/shedlang/compiler/typechecker/TypeChecker.java
@@ -241,6 +241,9 @@ public class TypeChecker {
case LESS_THAN ->
throw new UnsupportedOperationException("TODO");
+ case LESS_THAN_OR_EQUAL ->
+ throw new UnsupportedOperationException("TODO");
+
case NOT_EQUAL ->
TypedBinaryOperator.INT_NOT_EQUAL;