aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous/ast
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-01-10 15:26:43 +0000
committerMichael Williamson <mike@zwobble.org>2016-01-10 15:26:43 +0000
commitbea8f44c058369bd175fb6b9e8da5b456669854d (patch)
treed770a82903efd712d286d200f207bfbfedcaff73 /src/main/java/org/zwobble/couscous/ast
parentf5472abda7010c63a18b55e322de52a3f9f0c5ca (diff)
Read boolean and/or operators
Diffstat (limited to 'src/main/java/org/zwobble/couscous/ast')
-rw-r--r--src/main/java/org/zwobble/couscous/ast/MethodCallNode.java9
-rw-r--r--src/main/java/org/zwobble/couscous/ast/Operator.java3
2 files changed, 11 insertions, 1 deletions
diff --git a/src/main/java/org/zwobble/couscous/ast/MethodCallNode.java b/src/main/java/org/zwobble/couscous/ast/MethodCallNode.java
index 076ac9e..efeee93 100644
--- a/src/main/java/org/zwobble/couscous/ast/MethodCallNode.java
+++ b/src/main/java/org/zwobble/couscous/ast/MethodCallNode.java
@@ -8,7 +8,6 @@ import java.util.Collections;
import java.util.List;
import java.util.function.Function;
-import static java.util.Arrays.asList;
import static org.zwobble.couscous.util.ExtraLists.eagerMap;
import static org.zwobble.couscous.util.ExtraLists.list;
@@ -21,6 +20,14 @@ public class MethodCallNode implements ExpressionNode {
}
}
+ public static ExpressionNode booleanAnd(ExpressionNode left, ExpressionNode right) {
+ return booleanOperation(Operator.BOOLEAN_AND.getMethodName(), left, right);
+ }
+
+ public static ExpressionNode booleanOr(ExpressionNode left, ExpressionNode right) {
+ return booleanOperation(Operator.BOOLEAN_OR.getMethodName(), left, right);
+ }
+
public static ExpressionNode integerAdd(ExpressionNode left, ExpressionNode right) {
return integerOperation(Operator.ADD.getMethodName(), 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 549224c..a215138 100644
--- a/src/main/java/org/zwobble/couscous/ast/Operator.java
+++ b/src/main/java/org/zwobble/couscous/ast/Operator.java
@@ -1,6 +1,9 @@
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),