From a2c7425458f645802a352abc4783e0afc73dba13 Mon Sep 17 00:00:00 2001 From: Ben Culkin Date: Thu, 3 Dec 2020 19:22:35 -0500 Subject: Adapt to esodata changes --- .../bjc/utils/parserutils/TreeConstructor.java | 40 +++++++++++----------- 1 file changed, 20 insertions(+), 20 deletions(-) (limited to 'base/src/main/java/bjc/utils/parserutils/TreeConstructor.java') diff --git a/base/src/main/java/bjc/utils/parserutils/TreeConstructor.java b/base/src/main/java/bjc/utils/parserutils/TreeConstructor.java index 6780768..bd907b5 100644 --- a/base/src/main/java/bjc/utils/parserutils/TreeConstructor.java +++ b/base/src/main/java/bjc/utils/parserutils/TreeConstructor.java @@ -5,7 +5,7 @@ import java.util.LinkedList; import java.util.function.*; import bjc.data.*; -import bjc.funcdata.IList; +import bjc.funcdata.ListEx; import bjc.utils.parserutils.TreeConstructor.*; /** @@ -22,7 +22,7 @@ public class TreeConstructor { * The token type of the tree. */ public interface QueueFlattener - extends Function>, ITree> { + extends Function>, Tree> { /* * Alias */ @@ -30,14 +30,14 @@ public class TreeConstructor { /* Alias for constructor state. */ static final class ConstructorState - extends Pair>, ITree> { - public ConstructorState(final Deque> left, - final ITree right) { + extends SimplePair>, Tree> { + public ConstructorState(final Deque> left, + final Tree right) { super(left, right); } public ConstructorState( - final IPair>, ITree> par) { + final Pair>, Tree> par) { super(par.getLeft(), par.getRight()); } } @@ -59,8 +59,8 @@ public class TreeConstructor { * * @return A AST from the expression. */ - public static ITree constructTree( - final IList tokens, final Predicate isOperator) { + public static Tree constructTree( + final ListEx tokens, final Predicate isOperator) { /* Construct a tree with no special operators */ return constructTree(tokens, isOperator, op -> false, null); } @@ -92,8 +92,8 @@ public class TreeConstructor { * @return A AST from the expression. * */ - public static ITree constructTree( - final IList tokens, final Predicate isOperator, + public static Tree constructTree( + final ListEx tokens, final Predicate isOperator, final Predicate isSpecialOperator, final Function> handleSpecialOperator) { /* @@ -112,7 +112,7 @@ public class TreeConstructor { = new ConstructorState<>(new LinkedList<>(), null); /* Here is the state for the tree construction */ - final IHolder> initialState = new Identity<>(cstate); + final Holder> initialState = new Identity<>(cstate); /* Transform each of the tokens */ final TokenTransformer trans = new TokenTransformer<>(initialState, @@ -152,11 +152,11 @@ class TokenTransformer implements Consumer { } private ConstructorState - handleOperator(final Deque> queuedASTs) { + handleOperator(final Deque> queuedASTs) { /* * The AST we're going to hand back */ - ITree newAST; + Tree newAST; /* * Handle special operators @@ -178,13 +178,13 @@ class TokenTransformer implements Consumer { /* * Grab the two operands */ - final ITree right = queuedASTs.pop(); - final ITree left = queuedASTs.pop(); + final Tree right = queuedASTs.pop(); + final Tree left = queuedASTs.pop(); /* * Create a new AST */ - newAST = new Tree<>(element, left, right); + newAST = new SimpleTree<>(element, left, right); } /* @@ -200,7 +200,7 @@ class TokenTransformer implements Consumer { } /* The initial state of the transformer. */ - private final IHolder> initialState; + private final Holder> initialState; /* The predicate tot use to detect operators. */ private final Predicate operatorPredicate; @@ -227,7 +227,7 @@ class TokenTransformer implements Consumer { * The function used for handling special * operators. */ - public TokenTransformer(final IHolder> initialState, + public TokenTransformer(final Holder> initialState, final Predicate operatorPredicate, final Predicate isSpecialOperator, final Function> handleSpecialOperator) { @@ -245,7 +245,7 @@ class TokenTransformer implements Consumer { if (operatorPredicate.test(element)) { initialState.transform(new OperatorHandler(element)); } else { - final ITree newAST = new Tree<>(element); + final Tree newAST = new SimpleTree<>(element); /* * Insert the new tree into the AST @@ -254,7 +254,7 @@ class TokenTransformer implements Consumer { pair.bindLeft(queue -> { queue.push(newAST); - return new Pair<>(queue, newAST); + return new SimplePair<>(queue, newAST); }) ) ); -- cgit v1.2.3