summaryrefslogtreecommitdiff
path: root/dice-lang/src/main/java/bjc/dicelang/ast/DiceASTParser.java
diff options
context:
space:
mode:
authorbculkin2442 <bjculkin@mix.wvu.edu>2016-04-22 14:29:19 -0400
committerbculkin2442 <bjculkin@mix.wvu.edu>2016-04-22 14:29:19 -0400
commita3e0b3da5d7b0ec8dcae92a428f8e3f1c6cd6e8e (patch)
treebd23ebdddaa0fdfd223afdcb66b41104c2a1ebaa /dice-lang/src/main/java/bjc/dicelang/ast/DiceASTParser.java
parentece202806a0621329a9c301996d0f519b018e9bd (diff)
Formatting changes
Diffstat (limited to 'dice-lang/src/main/java/bjc/dicelang/ast/DiceASTParser.java')
-rw-r--r--dice-lang/src/main/java/bjc/dicelang/ast/DiceASTParser.java50
1 files changed, 25 insertions, 25 deletions
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 c746c8b..3a4bccf 100644
--- a/dice-lang/src/main/java/bjc/dicelang/ast/DiceASTParser.java
+++ b/dice-lang/src/main/java/bjc/dicelang/ast/DiceASTParser.java
@@ -5,14 +5,6 @@ import java.util.InputMismatchException;
import java.util.function.Function;
import java.util.function.Predicate;
-import bjc.dicelang.IDiceExpression;
-import bjc.dicelang.ast.nodes.DiceLiteralNode;
-import bjc.dicelang.ast.nodes.DiceLiteralType;
-import bjc.dicelang.ast.nodes.IDiceASTNode;
-import bjc.dicelang.ast.nodes.ILiteralDiceNode;
-import bjc.dicelang.ast.nodes.IntegerLiteralNode;
-import bjc.dicelang.ast.nodes.OperatorDiceNode;
-import bjc.dicelang.ast.nodes.VariableDiceNode;
import bjc.utils.funcdata.FunctionalList;
import bjc.utils.funcdata.FunctionalMap;
import bjc.utils.funcdata.IFunctionalList;
@@ -22,6 +14,15 @@ import bjc.utils.funcdata.Tree;
import bjc.utils.funcutils.StringUtils;
import bjc.utils.parserutils.TreeConstructor;
+import bjc.dicelang.IDiceExpression;
+import bjc.dicelang.ast.nodes.DiceLiteralNode;
+import bjc.dicelang.ast.nodes.DiceLiteralType;
+import bjc.dicelang.ast.nodes.IDiceASTNode;
+import bjc.dicelang.ast.nodes.ILiteralDiceNode;
+import bjc.dicelang.ast.nodes.IntegerLiteralNode;
+import bjc.dicelang.ast.nodes.OperatorDiceNode;
+import bjc.dicelang.ast.nodes.VariableDiceNode;
+
/**
* Parse a string expression into AST form. Doesn't do anything else
*
@@ -36,8 +37,8 @@ public class DiceASTParser {
* The list of tokens to convert
* @return An AST built from the tokens
*/
- public static ITree<IDiceASTNode>
- createFromString(IFunctionalList<String> tokens) {
+ public static ITree<IDiceASTNode> createFromString(
+ IFunctionalList<String> tokens) {
Predicate<String> specialPicker = (operator) -> {
if (StringUtils.containsOnly(operator, "\\[")) {
return true;
@@ -48,8 +49,7 @@ public class DiceASTParser {
return false;
};
- IFunctionalMap<String, Function<Deque<ITree<String>>, ITree<String>>> operators =
- new FunctionalMap<>();
+ IFunctionalMap<String, Function<Deque<ITree<String>>, ITree<String>>> operators = new FunctionalMap<>();
operators.put("[", (queuedTrees) -> {
Tree<String> openTree = new Tree<>("[");
@@ -61,28 +61,28 @@ public class DiceASTParser {
return parseCloseArray(queuedTrees);
});
- ITree<String> rawTokens =
- TreeConstructor.constructTree(tokens, (token) -> {
+ ITree<String> rawTokens = TreeConstructor.constructTree(tokens,
+ (token) -> {
return isOperatorNode(token);
}, specialPicker, operators::get);
- ITree<IDiceASTNode> tokenizedTree =
- rawTokens.rebuildTree(DiceASTParser::convertLeafNode,
- DiceASTParser::convertOperatorNode);
+ ITree<IDiceASTNode> tokenizedTree = rawTokens.rebuildTree(
+ DiceASTParser::convertLeafNode,
+ DiceASTParser::convertOperatorNode);
return tokenizedTree;
}
- private static ITree<String>
- parseCloseArray(Deque<ITree<String>> queuedTrees) {
+ private static ITree<String> parseCloseArray(
+ Deque<ITree<String>> queuedTrees) {
IFunctionalList<ITree<String>> children = new FunctionalList<>();
while (shouldContinuePopping(queuedTrees)) {
children.add(queuedTrees.pop());
}
-
+
queuedTrees.pop();
-
+
children.reverse();
ITree<String> arrayTree = new Tree<>("[]", children);
@@ -90,8 +90,8 @@ public class DiceASTParser {
return arrayTree;
}
- private static boolean
- shouldContinuePopping(Deque<ITree<String>> queuedTrees) {
+ private static boolean shouldContinuePopping(
+ Deque<ITree<String>> queuedTrees) {
String peekToken = queuedTrees.peek().getHead();
return !peekToken.equals("[");
@@ -119,8 +119,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) {