summaryrefslogtreecommitdiff
path: root/base/src/main/java/bjc/utils/parserutils
diff options
context:
space:
mode:
Diffstat (limited to 'base/src/main/java/bjc/utils/parserutils')
-rw-r--r--base/src/main/java/bjc/utils/parserutils/Precedent.java (renamed from base/src/main/java/bjc/utils/parserutils/IPrecedent.java)4
-rw-r--r--base/src/main/java/bjc/utils/parserutils/ShuntingYard.java16
-rw-r--r--base/src/main/java/bjc/utils/parserutils/TokenUtils.java4
-rw-r--r--base/src/main/java/bjc/utils/parserutils/TreeConstructor.java40
-rw-r--r--base/src/main/java/bjc/utils/parserutils/delims/DelimiterGroup.java42
-rw-r--r--base/src/main/java/bjc/utils/parserutils/delims/RegexOpener.java10
-rw-r--r--base/src/main/java/bjc/utils/parserutils/delims/SequenceDelimiter.java14
-rw-r--r--base/src/main/java/bjc/utils/parserutils/delims/StringDelimiter.java4
-rw-r--r--base/src/main/java/bjc/utils/parserutils/splitter/ChainTokenSplitter.java8
-rw-r--r--base/src/main/java/bjc/utils/parserutils/splitter/ConfigurableTokenSplitter.java4
-rw-r--r--base/src/main/java/bjc/utils/parserutils/splitter/ExcludingTokenSplitter.java6
-rw-r--r--base/src/main/java/bjc/utils/parserutils/splitter/FilteredTokenSplitter.java4
-rw-r--r--base/src/main/java/bjc/utils/parserutils/splitter/IdentityTokenSplitter.java2
-rw-r--r--base/src/main/java/bjc/utils/parserutils/splitter/SimpleTokenSplitter.java4
-rw-r--r--base/src/main/java/bjc/utils/parserutils/splitter/TokenSplitter.java4
-rw-r--r--base/src/main/java/bjc/utils/parserutils/splitter/TransformTokenSplitter.java4
16 files changed, 85 insertions, 85 deletions
diff --git a/base/src/main/java/bjc/utils/parserutils/IPrecedent.java b/base/src/main/java/bjc/utils/parserutils/Precedent.java
index eb164b3..33b032c 100644
--- a/base/src/main/java/bjc/utils/parserutils/IPrecedent.java
+++ b/base/src/main/java/bjc/utils/parserutils/Precedent.java
@@ -7,7 +7,7 @@ package bjc.utils.parserutils;
*
*/
@FunctionalInterface
-public interface IPrecedent {
+public interface Precedent {
/**
* Create a new object with set precedence
*
@@ -15,7 +15,7 @@ public interface IPrecedent {
* The precedence of the object to handle
* @return A new object with set precedence
*/
- public static IPrecedent newSimplePrecedent(final int precedence) {
+ public static Precedent newSimplePrecedent(final int precedence) {
return () -> precedence;
}
diff --git a/base/src/main/java/bjc/utils/parserutils/ShuntingYard.java b/base/src/main/java/bjc/utils/parserutils/ShuntingYard.java
index ac82388..f0475ff 100644
--- a/base/src/main/java/bjc/utils/parserutils/ShuntingYard.java
+++ b/base/src/main/java/bjc/utils/parserutils/ShuntingYard.java
@@ -6,8 +6,8 @@ import java.util.function.Function;
import bjc.funcdata.FunctionalList;
import bjc.funcdata.FunctionalMap;
-import bjc.funcdata.IList;
-import bjc.funcdata.IMap;
+import bjc.funcdata.ListEx;
+import bjc.funcdata.MapEx;
import bjc.utils.funcutils.StringUtils;
/**
@@ -25,7 +25,7 @@ public class ShuntingYard<TokenType> {
* @author ben
*
*/
- public static enum Operator implements IPrecedent {
+ public static enum Operator implements Precedent {
/**
* Represents addition.
*/
@@ -59,7 +59,7 @@ public class ShuntingYard<TokenType> {
/*
* Holds all the shuntable operations.
*/
- private IMap<String, IPrecedent> operators;
+ private MapEx<String, Precedent> operators;
/**
* Create a new shunting yard with a default set of operators.
@@ -95,7 +95,7 @@ public class ShuntingYard<TokenType> {
/*
* Create the precedence marker
*/
- final IPrecedent prec = IPrecedent.newSimplePrecedent(precedence);
+ final Precedent prec = Precedent.newSimplePrecedent(precedence);
this.addOp(operator, prec);
}
@@ -109,7 +109,7 @@ public class ShuntingYard<TokenType> {
* @param precedence
* The precedence of the operator.
*/
- public void addOp(final String operator, final IPrecedent precedence) {
+ public void addOp(final String operator, final Precedent precedence) {
/*
* Complain about trying to add an incorrect operator
*/
@@ -158,7 +158,7 @@ public class ShuntingYard<TokenType> {
*
* @return A list of tokens in postfix notation.
*/
- public IList<TokenType> postfix(final IList<String> input,
+ public ListEx<TokenType> postfix(final ListEx<String> input,
final Function<String, TokenType> transformer) {
/*
* Check our input
@@ -169,7 +169,7 @@ public class ShuntingYard<TokenType> {
/*
* Here's what we're handing back
*/
- final IList<TokenType> output = new FunctionalList<>();
+ final ListEx<TokenType> output = new FunctionalList<>();
/*
* The stack to put operators on
diff --git a/base/src/main/java/bjc/utils/parserutils/TokenUtils.java b/base/src/main/java/bjc/utils/parserutils/TokenUtils.java
index c6fdf5e..860bbdf 100644
--- a/base/src/main/java/bjc/utils/parserutils/TokenUtils.java
+++ b/base/src/main/java/bjc/utils/parserutils/TokenUtils.java
@@ -10,7 +10,7 @@ import java.util.regex.Pattern;
import bjc.data.*;
import bjc.funcdata.FunctionalList;
-import bjc.funcdata.IList;
+import bjc.funcdata.ListEx;
import bjc.utils.parserutils.splitter.TokenSplitter;
/**
@@ -28,7 +28,7 @@ public class TokenUtils {
*/
public static class StringTokenSplitter implements TokenSplitter {
@Override
- public IList<String> split(final String input) {
+ public ListEx<String> split(final String input) {
return new FunctionalList<>(TokenUtils.removeDQuotedStrings(input));
}
}
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<TokenType>
- extends Function<Deque<ITree<TokenType>>, ITree<TokenType>> {
+ extends Function<Deque<Tree<TokenType>>, Tree<TokenType>> {
/*
* Alias
*/
@@ -30,14 +30,14 @@ public class TreeConstructor {
/* Alias for constructor state. */
static final class ConstructorState<TokenType>
- extends Pair<Deque<ITree<TokenType>>, ITree<TokenType>> {
- public ConstructorState(final Deque<ITree<TokenType>> left,
- final ITree<TokenType> right) {
+ extends SimplePair<Deque<Tree<TokenType>>, Tree<TokenType>> {
+ public ConstructorState(final Deque<Tree<TokenType>> left,
+ final Tree<TokenType> right) {
super(left, right);
}
public ConstructorState(
- final IPair<Deque<ITree<TokenType>>, ITree<TokenType>> par) {
+ final Pair<Deque<Tree<TokenType>>, Tree<TokenType>> par) {
super(par.getLeft(), par.getRight());
}
}
@@ -59,8 +59,8 @@ public class TreeConstructor {
*
* @return A AST from the expression.
*/
- public static <TokenType> ITree<TokenType> constructTree(
- final IList<TokenType> tokens, final Predicate<TokenType> isOperator) {
+ public static <TokenType> Tree<TokenType> constructTree(
+ final ListEx<TokenType> tokens, final Predicate<TokenType> 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 <TokenType> ITree<TokenType> constructTree(
- final IList<TokenType> tokens, final Predicate<TokenType> isOperator,
+ public static <TokenType> Tree<TokenType> constructTree(
+ final ListEx<TokenType> tokens, final Predicate<TokenType> isOperator,
final Predicate<TokenType> isSpecialOperator,
final Function<TokenType, QueueFlattener<TokenType>> handleSpecialOperator) {
/*
@@ -112,7 +112,7 @@ public class TreeConstructor {
= new ConstructorState<>(new LinkedList<>(), null);
/* Here is the state for the tree construction */
- final IHolder<ConstructorState<TokenType>> initialState = new Identity<>(cstate);
+ final Holder<ConstructorState<TokenType>> initialState = new Identity<>(cstate);
/* Transform each of the tokens */
final TokenTransformer<TokenType> trans = new TokenTransformer<>(initialState,
@@ -152,11 +152,11 @@ class TokenTransformer<TokenType> implements Consumer<TokenType> {
}
private ConstructorState<TokenType>
- handleOperator(final Deque<ITree<TokenType>> queuedASTs) {
+ handleOperator(final Deque<Tree<TokenType>> queuedASTs) {
/*
* The AST we're going to hand back
*/
- ITree<TokenType> newAST;
+ Tree<TokenType> newAST;
/*
* Handle special operators
@@ -178,13 +178,13 @@ class TokenTransformer<TokenType> implements Consumer<TokenType> {
/*
* Grab the two operands
*/
- final ITree<TokenType> right = queuedASTs.pop();
- final ITree<TokenType> left = queuedASTs.pop();
+ final Tree<TokenType> right = queuedASTs.pop();
+ final Tree<TokenType> 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<TokenType> implements Consumer<TokenType> {
}
/* The initial state of the transformer. */
- private final IHolder<ConstructorState<TokenType>> initialState;
+ private final Holder<ConstructorState<TokenType>> initialState;
/* The predicate tot use to detect operators. */
private final Predicate<TokenType> operatorPredicate;
@@ -227,7 +227,7 @@ class TokenTransformer<TokenType> implements Consumer<TokenType> {
* The function used for handling special
* operators.
*/
- public TokenTransformer(final IHolder<ConstructorState<TokenType>> initialState,
+ public TokenTransformer(final Holder<ConstructorState<TokenType>> initialState,
final Predicate<TokenType> operatorPredicate,
final Predicate<TokenType> isSpecialOperator,
final Function<TokenType, QueueFlattener<TokenType>> handleSpecialOperator) {
@@ -245,7 +245,7 @@ class TokenTransformer<TokenType> implements Consumer<TokenType> {
if (operatorPredicate.test(element)) {
initialState.transform(new OperatorHandler(element));
} else {
- final ITree<TokenType> newAST = new Tree<>(element);
+ final Tree<TokenType> newAST = new SimpleTree<>(element);
/*
* Insert the new tree into the AST
@@ -254,7 +254,7 @@ class TokenTransformer<TokenType> implements Consumer<TokenType> {
pair.bindLeft(queue -> {
queue.push(newAST);
- return new Pair<>(queue, newAST);
+ return new SimplePair<>(queue, newAST);
})
)
);
diff --git a/base/src/main/java/bjc/utils/parserutils/delims/DelimiterGroup.java b/base/src/main/java/bjc/utils/parserutils/delims/DelimiterGroup.java
index ba61531..75f777c 100644
--- a/base/src/main/java/bjc/utils/parserutils/delims/DelimiterGroup.java
+++ b/base/src/main/java/bjc/utils/parserutils/delims/DelimiterGroup.java
@@ -11,12 +11,12 @@ import java.util.Set;
import java.util.function.BiPredicate;
import java.util.function.Function;
-import bjc.data.IPair;
-import bjc.data.ITree;
import bjc.data.Pair;
import bjc.data.Tree;
+import bjc.data.SimplePair;
+import bjc.data.SimpleTree;
import bjc.funcdata.FunctionalList;
-import bjc.funcdata.IList;
+import bjc.funcdata.ListEx;
/**
* Represents a possible delimiter group to match.
@@ -37,12 +37,12 @@ public class DelimiterGroup<T> {
/*
* The contents of this group.
*/
- private final Deque<ITree<T>> contents;
+ private final Deque<Tree<T>> contents;
/*
* The contents of the current subgroup.
*/
- private IList<ITree<T>> currentGroup;
+ private ListEx<Tree<T>> currentGroup;
/*
* The token that opened the group, and any opening parameters.
@@ -74,7 +74,7 @@ public class DelimiterGroup<T> {
* @param itm
* The item to add to this group instance.
*/
- public void addItem(final ITree<T> itm) {
+ public void addItem(final Tree<T> itm) {
currentGroup.add(itm);
}
@@ -91,8 +91,8 @@ public class DelimiterGroup<T> {
/*
* Add all of the contents to the subgroup.
*/
- final ITree<T> subgroupContents = new Tree<>(chars.contents);
- for (final ITree<T> itm : currentGroup) {
+ final Tree<T> subgroupContents = new SimpleTree<>(chars.contents);
+ for (final Tree<T> itm : currentGroup) {
subgroupContents.addChild(itm);
}
@@ -100,7 +100,7 @@ public class DelimiterGroup<T> {
* Handle subordinate sub-groups.
*/
while (!contents.isEmpty()) {
- final ITree<T> possibleSubordinate = contents.peek();
+ final Tree<T> possibleSubordinate = contents.peek();
/*
* Subordinate lower priority subgroups.
@@ -118,8 +118,8 @@ public class DelimiterGroup<T> {
}
}
- final Tree<T> subgroup
- = new Tree<>(chars.subgroup, subgroupContents, new Tree<>(marker));
+ final SimpleTree<T> subgroup
+ = new SimpleTree<>(chars.subgroup, subgroupContents, new SimpleTree<>(marker));
contents.push(subgroup);
@@ -137,7 +137,7 @@ public class DelimiterGroup<T> {
*
* @return This group as a tree.
*/
- public ITree<T> toTree(final T closer, final SequenceCharacteristics<T> chars) {
+ public Tree<T> toTree(final T closer, final SequenceCharacteristics<T> chars) {
/*
* Mark any implied subgroups.
*/
@@ -146,7 +146,7 @@ public class DelimiterGroup<T> {
}
/* The resulting tree. */
- final ITree<T> res = new Tree<>(chars.contents);
+ final Tree<T> res = new SimpleTree<>(chars.contents);
/*
* Add either the contents of the current group, or subgroups if they're
@@ -162,7 +162,7 @@ public class DelimiterGroup<T> {
currentGroup.forEach(res::addChild);
}
- return new Tree<>(groupName, new Tree<>(opener), res, new Tree<>(closer));
+ return new SimpleTree<>(groupName, new SimpleTree<>(opener), res, new SimpleTree<>(closer));
}
@Override
@@ -259,18 +259,18 @@ public class DelimiterGroup<T> {
*
* @return The name of the group T opens, or null if it doesn't open one.
*/
- public IPair<T, T[]> doesOpen(final T marker) {
+ public Pair<T, T[]> doesOpen(final T marker) {
if (openDelimiters.containsKey(marker))
- return new Pair<>(openDelimiters.get(marker), null);
+ return new SimplePair<>(openDelimiters.get(marker), null);
- for (final Function<T, IPair<T, T[]>> pred : predOpeners) {
- final IPair<T, T[]> par = pred.apply(marker);
+ for (final Function<T, Pair<T, T[]>> pred : predOpeners) {
+ final Pair<T, T[]> par = pred.apply(marker);
if (par.getLeft() != null)
return par;
}
- return new Pair<>(null, null);
+ return new SimplePair<>(null, null);
}
/**
@@ -312,7 +312,7 @@ public class DelimiterGroup<T> {
private final Map<T, T> impliedSubgroups;
/* Allows more complex openings */
- private final List<Function<T, IPair<T, T[]>>> predOpeners;
+ private final List<Function<T, Pair<T, T[]>>> predOpeners;
/* Allow more complex closings */
private final List<BiPredicate<T, T[]>> predClosers;
@@ -562,7 +562,7 @@ public class DelimiterGroup<T> {
* @param pred
* The predicate that defines the opener and its parameters.
*/
- public void addPredOpener(final Function<T, IPair<T, T[]>> pred) {
+ public void addPredOpener(final Function<T, Pair<T, T[]>> pred) {
predOpeners.add(pred);
}
diff --git a/base/src/main/java/bjc/utils/parserutils/delims/RegexOpener.java b/base/src/main/java/bjc/utils/parserutils/delims/RegexOpener.java
index f08201c..db5c3ca 100644
--- a/base/src/main/java/bjc/utils/parserutils/delims/RegexOpener.java
+++ b/base/src/main/java/bjc/utils/parserutils/delims/RegexOpener.java
@@ -4,8 +4,8 @@ import java.util.function.Function;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import bjc.data.IPair;
import bjc.data.Pair;
+import bjc.data.SimplePair;
/**
* A predicated opener for use with {@link RegexCloser}
@@ -13,7 +13,7 @@ import bjc.data.Pair;
* @author bjculkin
*
*/
-public class RegexOpener implements Function<String, IPair<String, String[]>> {
+public class RegexOpener implements Function<String, Pair<String, String[]>> {
/* The name of the group. */
private final String name;
/* The pattern that marks an opening group. */
@@ -35,7 +35,7 @@ public class RegexOpener implements Function<String, IPair<String, String[]>> {
}
@Override
- public IPair<String, String[]> apply(final String str) {
+ public Pair<String, String[]> apply(final String str) {
final Matcher m = patt.matcher(str);
if (m.matches()) {
@@ -47,9 +47,9 @@ public class RegexOpener implements Function<String, IPair<String, String[]>> {
parms[i] = m.group(i);
}
- return new Pair<>(name, parms);
+ return new SimplePair<>(name, parms);
}
- return new Pair<>(null, null);
+ return new SimplePair<>(null, null);
}
}
diff --git a/base/src/main/java/bjc/utils/parserutils/delims/SequenceDelimiter.java b/base/src/main/java/bjc/utils/parserutils/delims/SequenceDelimiter.java
index a73ac88..b3f6dc4 100644
--- a/base/src/main/java/bjc/utils/parserutils/delims/SequenceDelimiter.java
+++ b/base/src/main/java/bjc/utils/parserutils/delims/SequenceDelimiter.java
@@ -9,13 +9,13 @@ import com.google.common.collect.HashMultiset;
import com.google.common.collect.Multimap;
import com.google.common.collect.Multiset;
-import bjc.data.IPair;
-import bjc.data.ITree;
+import bjc.data.Pair;
import bjc.data.Tree;
+import bjc.data.SimpleTree;
import bjc.esodata.PushdownMap;
import bjc.esodata.SimpleStack;
import bjc.esodata.Stack;
-import bjc.funcdata.IMap;
+import bjc.funcdata.MapEx;
import bjc.utils.funcutils.StringUtils;
/**
@@ -82,7 +82,7 @@ public class SequenceDelimiter<T> {
* delimitation.
*
*/
- public ITree<T> delimitSequence(final SequenceCharacteristics<T> chars,
+ public Tree<T> delimitSequence(final SequenceCharacteristics<T> chars,
@SuppressWarnings("unchecked") final T... seq) throws DelimiterException {
if (initialGroup == null) {
throw new NullPointerException("Initial group must be specified.");
@@ -105,7 +105,7 @@ public class SequenceDelimiter<T> {
allowedDelimiters.push(HashMultimap.create());
/* Map of who forbid what for debugging purposes. */
- final IMap<T, T> whoForbid = new PushdownMap<>();
+ final MapEx<T, T> whoForbid = new PushdownMap<>();
/*
* Process each member of the sequence.
@@ -114,7 +114,7 @@ public class SequenceDelimiter<T> {
final T tok = seq[i];
/* Check if this token could open a group. */
- final IPair<T, T[]> possibleOpenPar = groupStack.top().doesOpen(tok);
+ final Pair<T, T[]> possibleOpenPar = groupStack.top().doesOpen(tok);
T possibleOpen = possibleOpenPar.getLeft();
if (possibleOpen == null) {
@@ -217,7 +217,7 @@ public class SequenceDelimiter<T> {
groupStack.top().markSubgroup(tok, chars);
} else {
/* Add an item to the group. */
- groupStack.top().addItem(new Tree<>(tok));
+ groupStack.top().addItem(new SimpleTree<>(tok));
}
}
diff --git a/base/src/main/java/bjc/utils/parserutils/delims/StringDelimiter.java b/base/src/main/java/bjc/utils/parserutils/delims/StringDelimiter.java
index 6035ede..575066d 100644
--- a/base/src/main/java/bjc/utils/parserutils/delims/StringDelimiter.java
+++ b/base/src/main/java/bjc/utils/parserutils/delims/StringDelimiter.java
@@ -1,6 +1,6 @@
package bjc.utils.parserutils.delims;
-import bjc.data.ITree;
+import bjc.data.Tree;
/**
* A sequence delimiter specialized for strings.
@@ -26,7 +26,7 @@ public class StringDelimiter extends SequenceDelimiter<String> {
*
* @see SequenceDelimiter
*/
- public ITree<String> delimitSequence(final String... seq) throws DelimiterException {
+ public Tree<String> delimitSequence(final String... seq) throws DelimiterException {
return super.delimitSequence(
new SequenceCharacteristics<>("root", "contents", "subgroup"), seq);
}
diff --git a/base/src/main/java/bjc/utils/parserutils/splitter/ChainTokenSplitter.java b/base/src/main/java/bjc/utils/parserutils/splitter/ChainTokenSplitter.java
index 0844b5b..c60b6f2 100644
--- a/base/src/main/java/bjc/utils/parserutils/splitter/ChainTokenSplitter.java
+++ b/base/src/main/java/bjc/utils/parserutils/splitter/ChainTokenSplitter.java
@@ -1,7 +1,7 @@
package bjc.utils.parserutils.splitter;
import bjc.funcdata.FunctionalList;
-import bjc.funcdata.IList;
+import bjc.funcdata.ListEx;
/**
* A token splitter that chains several other splitters together.
@@ -10,7 +10,7 @@ import bjc.funcdata.IList;
*
*/
public class ChainTokenSplitter implements TokenSplitter {
- private final IList<TokenSplitter> spliters;
+ private final ListEx<TokenSplitter> spliters;
/**
* Create a new chain token splitter.
@@ -40,8 +40,8 @@ public class ChainTokenSplitter implements TokenSplitter {
}
@Override
- public IList<String> split(final String input) {
- final IList<String> initList = new FunctionalList<>(input);
+ public ListEx<String> split(final String input) {
+ final ListEx<String> initList = new FunctionalList<>(input);
return spliters.reduceAux(initList, (splitter, strangs) -> strangs.flatMap(splitter::split));
}
diff --git a/base/src/main/java/bjc/utils/parserutils/splitter/ConfigurableTokenSplitter.java b/base/src/main/java/bjc/utils/parserutils/splitter/ConfigurableTokenSplitter.java
index 16c1dc3..26d9dbe 100644
--- a/base/src/main/java/bjc/utils/parserutils/splitter/ConfigurableTokenSplitter.java
+++ b/base/src/main/java/bjc/utils/parserutils/splitter/ConfigurableTokenSplitter.java
@@ -6,7 +6,7 @@ import java.util.LinkedHashSet;
import java.util.Set;
import java.util.regex.Pattern;
-import bjc.funcdata.IList;
+import bjc.funcdata.ListEx;
/**
* Split a string into pieces around a regular expression, and offer an easy way
@@ -111,7 +111,7 @@ public class ConfigurableTokenSplitter extends SimpleTokenSplitter {
}
@Override
- public IList<String> split(final String input) {
+ public ListEx<String> split(final String input) {
if (spliter == null)
throw new IllegalStateException("Must compile splitter before use");
diff --git a/base/src/main/java/bjc/utils/parserutils/splitter/ExcludingTokenSplitter.java b/base/src/main/java/bjc/utils/parserutils/splitter/ExcludingTokenSplitter.java
index 9a0cd65..52ce4bf 100644
--- a/base/src/main/java/bjc/utils/parserutils/splitter/ExcludingTokenSplitter.java
+++ b/base/src/main/java/bjc/utils/parserutils/splitter/ExcludingTokenSplitter.java
@@ -5,7 +5,7 @@ import java.util.Set;
import java.util.function.Predicate;
import bjc.funcdata.FunctionalList;
-import bjc.funcdata.IList;
+import bjc.funcdata.ListEx;
/**
* A token splitter that will not split certain tokens.
@@ -15,7 +15,7 @@ import bjc.funcdata.IList;
*/
public class ExcludingTokenSplitter implements TokenSplitter {
private final Set<String> literalExclusions;
- private final IList<Predicate<String>> predExclusions;
+ private final ListEx<Predicate<String>> predExclusions;
private final TokenSplitter spliter;
@@ -59,7 +59,7 @@ public class ExcludingTokenSplitter implements TokenSplitter {
}
@Override
- public IList<String> split(final String input) {
+ public ListEx<String> split(final String input) {
if (literalExclusions.contains(input))
return new FunctionalList<>(input);
else if (predExclusions.anyMatch(pred -> pred.test(input)))
diff --git a/base/src/main/java/bjc/utils/parserutils/splitter/FilteredTokenSplitter.java b/base/src/main/java/bjc/utils/parserutils/splitter/FilteredTokenSplitter.java
index 85d72e2..70abbbc 100644
--- a/base/src/main/java/bjc/utils/parserutils/splitter/FilteredTokenSplitter.java
+++ b/base/src/main/java/bjc/utils/parserutils/splitter/FilteredTokenSplitter.java
@@ -2,7 +2,7 @@ package bjc.utils.parserutils.splitter;
import java.util.function.Predicate;
-import bjc.funcdata.IList;
+import bjc.funcdata.ListEx;
/**
* A token splitter that removes tokens that match a predicate from the stream
@@ -31,7 +31,7 @@ public class FilteredTokenSplitter implements TokenSplitter {
}
@Override
- public IList<String> split(String input) {
+ public ListEx<String> split(String input) {
return source.split(input).getMatching(filter);
}
}
diff --git a/base/src/main/java/bjc/utils/parserutils/splitter/IdentityTokenSplitter.java b/base/src/main/java/bjc/utils/parserutils/splitter/IdentityTokenSplitter.java
index 6be0e7f..b3b1b29 100644
--- a/base/src/main/java/bjc/utils/parserutils/splitter/IdentityTokenSplitter.java
+++ b/base/src/main/java/bjc/utils/parserutils/splitter/IdentityTokenSplitter.java
@@ -10,7 +10,7 @@ import bjc.funcdata.*;
*/
public class IdentityTokenSplitter implements TokenSplitter {
@Override
- public IList<String> split(String input) {
+ public ListEx<String> split(String input) {
return new FunctionalList<>(input);
}
}
diff --git a/base/src/main/java/bjc/utils/parserutils/splitter/SimpleTokenSplitter.java b/base/src/main/java/bjc/utils/parserutils/splitter/SimpleTokenSplitter.java
index 6d88b20..df9ce70 100644
--- a/base/src/main/java/bjc/utils/parserutils/splitter/SimpleTokenSplitter.java
+++ b/base/src/main/java/bjc/utils/parserutils/splitter/SimpleTokenSplitter.java
@@ -2,7 +2,7 @@ package bjc.utils.parserutils.splitter;
import java.util.regex.Pattern;
-import bjc.funcdata.IList;
+import bjc.funcdata.ListEx;
import bjc.functypes.ID;
import bjc.utils.ioutils.RegexStringEditor;
@@ -39,7 +39,7 @@ public class SimpleTokenSplitter implements TokenSplitter {
}
@Override
- public IList<String> split(final String input) {
+ public ListEx<String> split(final String input) {
if (keepDelim) {
return RegexStringEditor.mapOccurances(input, spliter, ID.id(), ID.id());
}
diff --git a/base/src/main/java/bjc/utils/parserutils/splitter/TokenSplitter.java b/base/src/main/java/bjc/utils/parserutils/splitter/TokenSplitter.java
index 59e73e8..e833c21 100644
--- a/base/src/main/java/bjc/utils/parserutils/splitter/TokenSplitter.java
+++ b/base/src/main/java/bjc/utils/parserutils/splitter/TokenSplitter.java
@@ -1,6 +1,6 @@
package bjc.utils.parserutils.splitter;
-import bjc.funcdata.IList;
+import bjc.funcdata.ListEx;
/**
* Split a string into a list of pieces.
@@ -17,5 +17,5 @@ public interface TokenSplitter {
*
* @return The pieces of the string.
*/
- public IList<String> split(String input);
+ public ListEx<String> split(String input);
}
diff --git a/base/src/main/java/bjc/utils/parserutils/splitter/TransformTokenSplitter.java b/base/src/main/java/bjc/utils/parserutils/splitter/TransformTokenSplitter.java
index b9fbedc..63c3206 100644
--- a/base/src/main/java/bjc/utils/parserutils/splitter/TransformTokenSplitter.java
+++ b/base/src/main/java/bjc/utils/parserutils/splitter/TransformTokenSplitter.java
@@ -2,7 +2,7 @@ package bjc.utils.parserutils.splitter;
import java.util.function.UnaryOperator;
-import bjc.funcdata.IList;
+import bjc.funcdata.ListEx;
/**
* A token splitter that performs a transform on the tokens from another
@@ -31,7 +31,7 @@ public class TransformTokenSplitter implements TokenSplitter {
}
@Override
- public IList<String> split(String input) {
+ public ListEx<String> split(String input) {
return source.split(input).map(transform);
}