summaryrefslogtreecommitdiff
path: root/dice-lang/src/examples/java/bjc/dicelang
diff options
context:
space:
mode:
authorbculkin2442 <bjculkin@mix.wvu.edu>2016-04-08 13:29:48 -0400
committerbculkin2442 <bjculkin@mix.wvu.edu>2016-04-08 13:29:48 -0400
commit90d1cc6c9f47f1b6f74fb57e07865795a46c23b8 (patch)
treeb74cd5b9989c9f5a1bbde1e1b8c751faf9cb7086 /dice-lang/src/examples/java/bjc/dicelang
parentb1df3ff8c890bf6d4cc16fb4f28ddb7833512d71 (diff)
Change to data interfaces, as well as prepare to rewrite parser
Diffstat (limited to 'dice-lang/src/examples/java/bjc/dicelang')
-rw-r--r--dice-lang/src/examples/java/bjc/dicelang/examples/DiceASTLanguagePragmaHandlers.java6
-rw-r--r--dice-lang/src/examples/java/bjc/dicelang/examples/DiceASTLanguageState.java4
-rw-r--r--dice-lang/src/examples/java/bjc/dicelang/examples/DiceASTLanguageTest.java49
-rw-r--r--dice-lang/src/examples/java/bjc/dicelang/examples/DiceExpressionParserTest.java3
-rw-r--r--dice-lang/src/examples/java/bjc/dicelang/examples/DiceLanguageTest.java2
5 files changed, 33 insertions, 31 deletions
diff --git a/dice-lang/src/examples/java/bjc/dicelang/examples/DiceASTLanguagePragmaHandlers.java b/dice-lang/src/examples/java/bjc/dicelang/examples/DiceASTLanguagePragmaHandlers.java
index 420391e..fa16515 100644
--- a/dice-lang/src/examples/java/bjc/dicelang/examples/DiceASTLanguagePragmaHandlers.java
+++ b/dice-lang/src/examples/java/bjc/dicelang/examples/DiceASTLanguagePragmaHandlers.java
@@ -3,10 +3,10 @@ package bjc.dicelang.examples;
import java.util.Map;
import java.util.function.BiConsumer;
-import bjc.dicelang.ast.DiceASTExpression;
-import bjc.dicelang.ast.DiceASTInliner;
-import bjc.dicelang.ast.DiceASTParser;
import bjc.dicelang.ast.nodes.IDiceASTNode;
+import bjc.dicelang.old.ast.DiceASTExpression;
+import bjc.dicelang.old.ast.DiceASTInliner;
+import bjc.dicelang.old.ast.DiceASTParser;
import bjc.utils.funcdata.FunctionalMap;
import bjc.utils.parserutils.AST;
diff --git a/dice-lang/src/examples/java/bjc/dicelang/examples/DiceASTLanguageState.java b/dice-lang/src/examples/java/bjc/dicelang/examples/DiceASTLanguageState.java
index 92e75e3..7db6ab3 100644
--- a/dice-lang/src/examples/java/bjc/dicelang/examples/DiceASTLanguageState.java
+++ b/dice-lang/src/examples/java/bjc/dicelang/examples/DiceASTLanguageState.java
@@ -2,8 +2,8 @@ package bjc.dicelang.examples;
import java.util.Map;
-import bjc.dicelang.ast.DiceASTExpression;
-import bjc.dicelang.ast.DiceASTParser;
+import bjc.dicelang.old.ast.DiceASTExpression;
+import bjc.dicelang.old.ast.DiceASTParser;
import bjc.utils.data.Pair;
/**
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 54f54ac..3c84657 100644
--- a/dice-lang/src/examples/java/bjc/dicelang/examples/DiceASTLanguageTest.java
+++ b/dice-lang/src/examples/java/bjc/dicelang/examples/DiceASTLanguageTest.java
@@ -6,19 +6,20 @@ import java.util.Scanner;
import java.util.function.BiConsumer;
import bjc.dicelang.IDiceExpression;
-import bjc.dicelang.ast.DiceASTDefinedChecker;
-import bjc.dicelang.ast.DiceASTExpression;
-import bjc.dicelang.ast.DiceASTInliner;
-import bjc.dicelang.ast.DiceASTParser;
-import bjc.dicelang.ast.DiceASTReferenceChecker;
import bjc.dicelang.ast.nodes.IDiceASTNode;
import bjc.dicelang.ast.optimization.DiceASTOptimizer;
+import bjc.dicelang.old.ast.DiceASTDefinedChecker;
+import bjc.dicelang.old.ast.DiceASTExpression;
+import bjc.dicelang.old.ast.DiceASTInliner;
+import bjc.dicelang.old.ast.DiceASTParser;
+import bjc.dicelang.old.ast.DiceASTReferenceChecker;
import static bjc.dicelang.examples.DiceASTLanguagePragmaHandlers.*;
import bjc.utils.data.GenHolder;
import bjc.utils.data.IHolder;
import bjc.utils.funcdata.FunctionalMap;
+import bjc.utils.funcdata.IFunctionalMap;
import bjc.utils.funcdata.bst.ITreePart.TreeLinearizationMethod;
import bjc.utils.parserutils.AST;
@@ -149,20 +150,21 @@ public class DiceASTLanguageTest {
try {
numberOfRolls = Integer.parseInt(args[2]);
- } catch (NumberFormatException nfex) {
+ } catch (@SuppressWarnings("unused") NumberFormatException nfex) {
+ // Don't care about details
System.err.println(
"ERROR: The second argument must be a valid number, and "
+ args[2] + " is not one.");
return;
}
- IDiceExpression expressionToRoll =
- languageState.merge((astParser, enviroment) -> {
+ IDiceExpression expressionToRoll = languageState
+ .merge((astParser, enviroment) -> {
if (!enviroment.containsKey(expressionName)) {
return null;
- } else {
- return enviroment.get(expressionName);
}
+
+ return enviroment.get(expressionName);
});
if (expressionToRoll == null) {
@@ -198,8 +200,8 @@ public class DiceASTLanguageTest {
// The parser to turn strings into AST's
DiceASTParser astParser = new DiceASTParser();
- DiceASTLanguageState languageState =
- new DiceASTLanguageState(astParser, enviroment);
+ DiceASTLanguageState languageState = new DiceASTLanguageState(
+ astParser, enviroment);
while (!currentLine.equalsIgnoreCase("quit")) {
String prospectiveCommandName = currentLine.split(" ")[0];
@@ -214,20 +216,20 @@ public class DiceASTLanguageTest {
AST<IDiceASTNode> builtAST;
try {
- builtAST = astParser.buildAST(currentLine);
+ builtAST = DiceASTParser.buildAST(currentLine);
} catch (IllegalStateException isex) {
System.out.println(
"ERROR: " + isex.getLocalizedMessage());
- currentLine =
- getNextCommand(inputSource, commandNumber);
+ currentLine = getNextCommand(inputSource,
+ commandNumber);
continue;
}
// Build a rollable expression from the AST
- DiceASTExpression expression =
- new DiceASTExpression(builtAST, enviroment);
+ DiceASTExpression expression = new DiceASTExpression(
+ builtAST, enviroment);
int sampleRoll;
@@ -237,8 +239,8 @@ public class DiceASTLanguageTest {
System.out.println(
"ERROR: " + usex.getLocalizedMessage());
- currentLine =
- getNextCommand(inputSource, commandNumber);
+ currentLine = getNextCommand(inputSource,
+ commandNumber);
continue;
}
@@ -249,8 +251,8 @@ public class DiceASTLanguageTest {
+ " Problematic expression: \n\t"
+ expression);
- currentLine =
- getNextCommand(inputSource, commandNumber);
+ currentLine = getNextCommand(inputSource,
+ commandNumber);
continue;
}
@@ -320,9 +322,8 @@ public class DiceASTLanguageTest {
private static DiceASTExpression freezeOutLast(
Map<String, DiceASTExpression> enviroment,
AST<IDiceASTNode> builtAST) {
- FunctionalMap<String, AST<IDiceASTNode>> transformedEnviroment =
- new FunctionalMap<>(enviroment)
- .mapValues((expr) -> expr.getAst());
+ IFunctionalMap<String, AST<IDiceASTNode>> transformedEnviroment = new FunctionalMap<>(
+ enviroment).mapValues((expr) -> expr.getAst());
AST<IDiceASTNode> expressionSansLast = DiceASTInliner
.selectiveInline(builtAST, transformedEnviroment, "last");
diff --git a/dice-lang/src/examples/java/bjc/dicelang/examples/DiceExpressionParserTest.java b/dice-lang/src/examples/java/bjc/dicelang/examples/DiceExpressionParserTest.java
index d2f947a..ceb90ef 100644
--- a/dice-lang/src/examples/java/bjc/dicelang/examples/DiceExpressionParserTest.java
+++ b/dice-lang/src/examples/java/bjc/dicelang/examples/DiceExpressionParserTest.java
@@ -44,7 +44,8 @@ public class DiceExpressionParserTest {
*/
DiceExpressionParser dep = new DiceExpressionParser();
- IDiceExpression dexp = dep.parse(exp, new HashMap<>());
+ IDiceExpression dexp = DiceExpressionParser.parse(exp,
+ new HashMap<>());
/*
* Roll the dice a specified amount of times
diff --git a/dice-lang/src/examples/java/bjc/dicelang/examples/DiceLanguageTest.java b/dice-lang/src/examples/java/bjc/dicelang/examples/DiceLanguageTest.java
index c832d6b..8dfaceb 100644
--- a/dice-lang/src/examples/java/bjc/dicelang/examples/DiceLanguageTest.java
+++ b/dice-lang/src/examples/java/bjc/dicelang/examples/DiceLanguageTest.java
@@ -76,7 +76,7 @@ public class DiceLanguageTest {
if (acts.containsKey(header)) {
acts.get(header).accept(ln, state);
} else {
- IDiceExpression exp = dep.parse(ln, env);
+ IDiceExpression exp = DiceExpressionParser.parse(ln, env);
System.out.println("\tParsed: " + exp.toString());
System.out.println("\tSample Roll: " + exp.roll());