summaryrefslogtreecommitdiff
path: root/BJC-Utils2/src/main/java/bjc/utils/dice/ast/OperatorDiceNode.java
diff options
context:
space:
mode:
authorbculkin2442 <bjculkin@mix.wvu.edu>2016-03-21 17:57:12 -0400
committerbculkin2442 <bjculkin@mix.wvu.edu>2016-03-21 17:57:12 -0400
commit7549e7d1b671738d9ebe9a6bf12b666b2bcb5b42 (patch)
tree3a5cbd29fe7dde13bffeebbfd6943d1065614093 /BJC-Utils2/src/main/java/bjc/utils/dice/ast/OperatorDiceNode.java
parent1bff7e49ed64d74e36d901e84c594cf63b58350b (diff)
Built AST representation of Dice things
Diffstat (limited to 'BJC-Utils2/src/main/java/bjc/utils/dice/ast/OperatorDiceNode.java')
-rw-r--r--BJC-Utils2/src/main/java/bjc/utils/dice/ast/OperatorDiceNode.java31
1 files changed, 31 insertions, 0 deletions
diff --git a/BJC-Utils2/src/main/java/bjc/utils/dice/ast/OperatorDiceNode.java b/BJC-Utils2/src/main/java/bjc/utils/dice/ast/OperatorDiceNode.java
new file mode 100644
index 0000000..84f45aa
--- /dev/null
+++ b/BJC-Utils2/src/main/java/bjc/utils/dice/ast/OperatorDiceNode.java
@@ -0,0 +1,31 @@
+package bjc.utils.dice.ast;
+
+public enum OperatorDiceNode implements IDiceASTNode {
+ ASSIGN, ADD, SUBTRACT, MULTIPLY, DIVIDE, GROUP, COMPOUND;
+
+ @Override
+ public boolean isOperator() {
+ return true;
+ }
+
+ public static OperatorDiceNode fromString(String s) {
+ switch(s) {
+ case ":=":
+ return ASSIGN;
+ case "+":
+ return ADD;
+ case "-":
+ return SUBTRACT;
+ case "*":
+ return MULTIPLY;
+ case "/":
+ return DIVIDE;
+ case "d":
+ return GROUP;
+ case "c":
+ return COMPOUND;
+ default:
+ throw new IllegalArgumentException(s + " is not a valid operator node");
+ }
+ }
+}