diff options
| author | bculkin2442 <bjculkin@mix.wvu.edu> | 2016-07-28 16:38:59 -0400 |
|---|---|---|
| committer | bculkin2442 <bjculkin@mix.wvu.edu> | 2016-07-28 16:38:59 -0400 |
| commit | d80f404865656b6d1a8faf41cecdd61343adcd0b (patch) | |
| tree | a00a33e6e6cf2c7e568919e628828da848231027 /dice-lang/src/examples/java/bjc | |
| parent | f62abec2577d3745475581a19eff71dbb8c0494e (diff) | |
Fixed an issue with instantiating lazy values.
Also, work on language impl. notes
Diffstat (limited to 'dice-lang/src/examples/java/bjc')
| -rw-r--r-- | dice-lang/src/examples/java/bjc/dicelang/examples/DiceASTLanguageTest.java | 53 |
1 files changed, 41 insertions, 12 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 c04318f..b331535 100644 --- a/dice-lang/src/examples/java/bjc/dicelang/examples/DiceASTLanguageTest.java +++ b/dice-lang/src/examples/java/bjc/dicelang/examples/DiceASTLanguageTest.java @@ -116,11 +116,26 @@ public class DiceASTLanguageTest { // Build an AST from the string expression ITree<IDiceASTNode> builtAST; + long time = System.nanoTime(); + IList<String> preparedTokens = DiceExpressionPreparer .prepareCommand(currentLine); + System.out.println("Command prepared in " + + (double) (System.nanoTime() - time) / 1000000000 + + " s"); + try { + time = System.nanoTime(); + builtAST = DiceASTParser.createFromString(preparedTokens); + + System.out + .println( + "Command parsed in " + + (double) (System.nanoTime() + - time) / 1000000000 + + " s"); } catch (InputMismatchException | IllegalStateException | UnsupportedOperationException ex) { System.out.println("ERROR: " + ex.getLocalizedMessage()); @@ -133,27 +148,41 @@ public class DiceASTLanguageTest { // Print out results System.out.println("\tParsed: " + builtAST.toString()); + time = System.nanoTime(); + ITree<IDiceASTNode> transformedAST = transformAST(builtAST, enviroment); + System.out.println("Command transformed in " + + (double) (System.nanoTime() - time) / 1000000000 + + " s"); + System.out .println("\tEvaluated: " + transformedAST.toString()); IResult sampleRoll; - // try { - sampleRoll = DiceASTEvaluator.evaluateAST(transformedAST, - enviroment); + try { + time = System.nanoTime(); - enviroment.put("last", transformedAST); - /* - * } catch (UnsupportedOperationException usex) { - * System.out.println("ERROR: " + usex.getLocalizedMessage()); - * - * currentLine = getNextCommand(inputSource, commandNumber); - * - * continue; } - */ + sampleRoll = DiceASTEvaluator.evaluateAST(transformedAST, + enviroment); + + System.out + .println( + "Command evaluated in " + + (double) (System.nanoTime() + - time) / 1000000000 + + " s"); + + enviroment.put("last", transformedAST); + } catch (UnsupportedOperationException usex) { + System.out.println("ERROR: " + usex.getLocalizedMessage()); + + currentLine = getNextCommand(inputSource, commandNumber); + + continue; + } System.out.println("\t\tSample Roll: " + sampleRoll); |
