summaryrefslogtreecommitdiff
path: root/base/src/main/java/bjc/utils/parserutils/delims
diff options
context:
space:
mode:
Diffstat (limited to 'base/src/main/java/bjc/utils/parserutils/delims')
-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
4 files changed, 35 insertions, 35 deletions
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);
}