aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous/ast/Operator.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/zwobble/couscous/ast/Operator.java')
-rw-r--r--src/main/java/org/zwobble/couscous/ast/Operator.java39
1 files changed, 23 insertions, 16 deletions
diff --git a/src/main/java/org/zwobble/couscous/ast/Operator.java b/src/main/java/org/zwobble/couscous/ast/Operator.java
index a215138..a51a01b 100644
--- a/src/main/java/org/zwobble/couscous/ast/Operator.java
+++ b/src/main/java/org/zwobble/couscous/ast/Operator.java
@@ -1,30 +1,37 @@
package org.zwobble.couscous.ast;
public enum Operator {
- BOOLEAN_AND("and", true),
- BOOLEAN_OR("or", true),
-
- ADD("add", false),
- SUBTRACT("subtract", false),
- MULTIPLY("multiply", false),
- DIVIDE("divide", false),
- MOD("mod", false),
-
- EQUALS("equals", true),
- NOT_EQUALS("notEquals", true),
- GREATER_THAN("greaterThan", true),
- GREATER_THAN_OR_EQUAL("greaterThanOrEqual", true),
- LESS_THAN("lessThan", true),
- LESS_THAN_OR_EQUAL("lessThanOrEqual", true);
+ BOOLEAN_AND("&&", "and", true),
+ BOOLEAN_OR("||", "or", true),
+ BOOLEAN_NOT("!", "negate", true),
+ ADD("+", "add", false),
+ SUBTRACT("-", "subtract", false),
+ MULTIPLY("*", "multiply", false),
+ DIVIDE("/", "divide", false),
+ MOD("%", "mod", false),
+
+ EQUALS("==", "equals", true),
+ NOT_EQUALS("!=", "notEquals", true),
+ GREATER_THAN(">", "greaterThan", true),
+ GREATER_THAN_OR_EQUAL(">=", "greaterThanOrEqual", true),
+ LESS_THAN("<", "lessThan", true),
+ LESS_THAN_OR_EQUAL("<=", "lessThanOrEqual", true);
+
+ private final String symbol;
private final String methodName;
private final boolean isBoolean;
- Operator(String methodName, boolean isBoolean) {
+ Operator(String symbol, String methodName, boolean isBoolean) {
+ this.symbol = symbol;
this.methodName = methodName;
this.isBoolean = isBoolean;
}
+ public String getSymbol() {
+ return symbol;
+ }
+
public String getMethodName() {
return methodName;
}