summaryrefslogtreecommitdiff
path: root/dice-lang/src/examples/java/bjc/dicelang
diff options
context:
space:
mode:
authorbculkin2442 <bjculkin@mix.wvu.edu>2016-04-18 17:22:36 -0400
committerbculkin2442 <bjculkin@mix.wvu.edu>2016-04-18 17:22:36 -0400
commitbf5f97983a7cd58e5d1147d6d6d93c2b307fe0fb (patch)
tree3d1e41c8a7b9cfa5f32c5708a3a223f4e7ee5e8f /dice-lang/src/examples/java/bjc/dicelang
parent24f3ce54983348e1aa0229d5c08b3fe99d739d40 (diff)
Implemented arrays
Diffstat (limited to 'dice-lang/src/examples/java/bjc/dicelang')
-rw-r--r--dice-lang/src/examples/java/bjc/dicelang/examples/DiceASTLanguageTest.java21
-rw-r--r--dice-lang/src/examples/java/bjc/dicelang/examples/DiceExpressionPreparer.java2
2 files changed, 16 insertions, 7 deletions
diff --git a/dice-lang/src/examples/java/bjc/dicelang/examples/DiceASTLanguageTest.java b/dice-lang/src/examples/java/bjc/dicelang/examples/DiceASTLanguageTest.java
index a6d5c75..fb4b086 100644
--- a/dice-lang/src/examples/java/bjc/dicelang/examples/DiceASTLanguageTest.java
+++ b/dice-lang/src/examples/java/bjc/dicelang/examples/DiceASTLanguageTest.java
@@ -7,6 +7,7 @@ import bjc.dicelang.ast.DiceASTInliner;
import bjc.dicelang.ast.DiceASTOptimizer;
import bjc.dicelang.ast.DiceASTParser;
import bjc.dicelang.ast.DiceASTReferenceSanitizer;
+import bjc.dicelang.ast.IResult;
import bjc.dicelang.ast.nodes.IDiceASTNode;
import bjc.dicelang.ast.optimization.ConstantCollapser;
import bjc.dicelang.ast.optimization.OperationCondenser;
@@ -114,7 +115,7 @@ public class DiceASTLanguageTest {
IFunctionalList<String> preparedTokens =
DiceExpressionPreparer.prepareCommand(currentLine);
-
+
try {
builtAST = DiceASTParser.createFromString(preparedTokens);
} catch (IllegalStateException isex) {
@@ -125,11 +126,17 @@ public class DiceASTLanguageTest {
continue;
}
- int sampleRoll;
+ // Print out results
+ System.out.println("\tParsed: " + builtAST.toString());
ITree<IDiceASTNode> transformedAST =
transformAST(builtAST, enviroment);
+ System.out
+ .println("\tEvaluated: " + transformedAST.toString());
+
+ IResult sampleRoll;
+
try {
sampleRoll = DiceASTEvaluator.evaluateAST(transformedAST,
enviroment);
@@ -143,10 +150,6 @@ public class DiceASTLanguageTest {
continue;
}
- // Print out results
- System.out.println("\tParsed: " + builtAST.toString());
- System.out
- .println("\tEvaluated: " + transformedAST.toString());
System.out.println("\t\tSample Roll: " + sampleRoll);
// Increase the number of commands
@@ -173,7 +176,11 @@ public class DiceASTLanguageTest {
ITree<IDiceASTNode> sanitizedTree = DiceASTReferenceSanitizer
.sanitize(condensedTree, enviroment);
- return sanitizedTree;
+ optimizedTree = optimizer.optimizeTree(sanitizedTree, enviroment);
+
+ condensedTree = OperationCondenser.condense(optimizedTree);
+
+ return condensedTree;
}
private static String getNextCommand(Scanner inputSource,
diff --git a/dice-lang/src/examples/java/bjc/dicelang/examples/DiceExpressionPreparer.java b/dice-lang/src/examples/java/bjc/dicelang/examples/DiceExpressionPreparer.java
index caf7f37..4524fa0 100644
--- a/dice-lang/src/examples/java/bjc/dicelang/examples/DiceExpressionPreparer.java
+++ b/dice-lang/src/examples/java/bjc/dicelang/examples/DiceExpressionPreparer.java
@@ -67,6 +67,8 @@ public class DiceExpressionPreparer {
ops.add(new Pair<>("(", "\\("));
ops.add(new Pair<>(")", "\\)"));
+ ops.add(new Pair<>("[", "\\["));
+ ops.add(new Pair<>("]", "\\]"));
IFunctionalList<String> fullyExpandedTokens =
ListUtils.deAffixTokens(semiExpandedTokens, ops);