From d80f404865656b6d1a8faf41cecdd61343adcd0b Mon Sep 17 00:00:00 2001 From: bculkin2442 Date: Thu, 28 Jul 2016 16:38:59 -0400 Subject: Fixed an issue with instantiating lazy values. Also, work on language impl. notes --- .../bjc/dicelang/examples/DiceASTLanguageTest.java | 53 +++++++++++++++++----- 1 file changed, 41 insertions(+), 12 deletions(-) (limited to 'dice-lang/src/examples/java/bjc/dicelang') 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 builtAST; + long time = System.nanoTime(); + IList 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 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); -- cgit v1.2.3