From 7c222f25d4b2d9f3b149d880f0e1acf8d673e4f5 Mon Sep 17 00:00:00 2001 From: bculkin2442 Date: Sun, 17 Apr 2016 20:41:47 -0400 Subject: Fixed a bug with arithmetic operators --- .../main/java/bjc/dicelang/ast/DiceASTParser.java | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) (limited to 'dice-lang/src/main/java/bjc/dicelang/ast/DiceASTParser.java') diff --git a/dice-lang/src/main/java/bjc/dicelang/ast/DiceASTParser.java b/dice-lang/src/main/java/bjc/dicelang/ast/DiceASTParser.java index 95495bd..d8c94dc 100644 --- a/dice-lang/src/main/java/bjc/dicelang/ast/DiceASTParser.java +++ b/dice-lang/src/main/java/bjc/dicelang/ast/DiceASTParser.java @@ -28,17 +28,21 @@ public class DiceASTParser { * The list of tokens to convert * @return An AST built from the tokens */ - public static ITree createFromString( - IFunctionalList tokens) { - ITree rawTokens = TreeConstructor.constructTree(tokens, - (token) -> { + public static ITree + createFromString(IFunctionalList tokens) { + ITree rawTokens = + TreeConstructor.constructTree(tokens, (token) -> { return isOperatorNode(token); }, (operator) -> false, null); + // The last argument is valid because there are no special // operators yet, so it'll never get called - return rawTokens.rebuildTree(DiceASTParser::convertLeafNode, - DiceASTParser::convertOperatorNode); + ITree tokenizedTree = + rawTokens.rebuildTree(DiceASTParser::convertLeafNode, + DiceASTParser::convertOperatorNode); + + return tokenizedTree; } private static boolean isOperatorNode(String token) { @@ -52,8 +56,8 @@ public class DiceASTParser { } private static IDiceASTNode convertLeafNode(String leafNode) { - DiceLiteralType literalType = ILiteralDiceNode - .getLiteralType(leafNode); + DiceLiteralType literalType = + ILiteralDiceNode.getLiteralType(leafNode); if (literalType != null) { switch (literalType) { -- cgit v1.2.3