diff options
| author | Michael Williamson <mike@zwobble.org> | 2025-02-02 18:40:12 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2025-02-02 18:40:12 +0000 |
| commit | d90948d4959d7895af5f8955cac8c1bb39ceb859 (patch) | |
| tree | f071f56476a034e471383a459809de108abad1c3 /src/main/java | |
| parent | 5b08c1351eb2347424e5e722deaf6d30b7ce283c (diff) | |
Parse less than or equal expressions
Diffstat (limited to 'src/main/java')
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; |
