diff options
Diffstat (limited to 'src/main/java/org/zwobble/couscous/ast')
| -rw-r--r-- | src/main/java/org/zwobble/couscous/ast/Operations.java | 4 | ||||
| -rw-r--r-- | src/main/java/org/zwobble/couscous/ast/Operator.java | 1 |
2 files changed, 5 insertions, 0 deletions
diff --git a/src/main/java/org/zwobble/couscous/ast/Operations.java b/src/main/java/org/zwobble/couscous/ast/Operations.java index 308d070..a94235e 100644 --- a/src/main/java/org/zwobble/couscous/ast/Operations.java +++ b/src/main/java/org/zwobble/couscous/ast/Operations.java @@ -33,6 +33,10 @@ public class Operations { return booleanOperation(Operator.BOOLEAN_OR, left, right); } + public static ExpressionNode integerNegation(ExpressionNode value) { + return OperationNode.operation(Operator.INTEGER_NEGATION, list(value), Types.INT); + } + public static ExpressionNode integerAdd(ExpressionNode left, ExpressionNode right) { return integerOperation(Operator.ADD, left, right); } diff --git a/src/main/java/org/zwobble/couscous/ast/Operator.java b/src/main/java/org/zwobble/couscous/ast/Operator.java index a77a135..54ab6c6 100644 --- a/src/main/java/org/zwobble/couscous/ast/Operator.java +++ b/src/main/java/org/zwobble/couscous/ast/Operator.java @@ -5,6 +5,7 @@ public enum Operator { BOOLEAN_OR("||", true, OperatorType.INFIX), BOOLEAN_NOT("!", true, OperatorType.PREFIX), + INTEGER_NEGATION("-", false, OperatorType.PREFIX), ADD("+", false, OperatorType.INFIX), SUBTRACT("-", false, OperatorType.INFIX), MULTIPLY("*", false, OperatorType.INFIX), |
