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 --- .../java/bjc/utils/parserutils/ShuntingYard.java | 10 +++--- .../java/bjc/utils/parserutils/TokenUtils.java | 4 +-- .../bjc/utils/parserutils/TreeConstructor.java | 40 ++++++++++----------- .../utils/parserutils/delims/DelimiterGroup.java | 42 +++++++++++----------- .../bjc/utils/parserutils/delims/RegexOpener.java | 10 +++--- .../parserutils/delims/SequenceDelimiter.java | 14 ++++---- .../utils/parserutils/delims/StringDelimiter.java | 4 +-- .../parserutils/splitter/ChainTokenSplitter.java | 8 ++--- .../splitter/ConfigurableTokenSplitter.java | 4 +-- .../splitter/ExcludingTokenSplitter.java | 6 ++-- .../splitter/FilteredTokenSplitter.java | 4 +-- .../splitter/IdentityTokenSplitter.java | 2 +- .../parserutils/splitter/SimpleTokenSplitter.java | 4 +-- .../utils/parserutils/splitter/TokenSplitter.java | 4 +-- .../splitter/TransformTokenSplitter.java | 4 +-- 15 files changed, 80 insertions(+), 80 deletions(-) (limited to 'base/src/main/java/bjc/utils/parserutils') diff --git a/base/src/main/java/bjc/utils/parserutils/ShuntingYard.java b/base/src/main/java/bjc/utils/parserutils/ShuntingYard.java index ac82388..f73c315 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; /** @@ -59,7 +59,7 @@ public class ShuntingYard { /* * Holds all the shuntable operations. */ - private IMap operators; + private MapEx operators; /** * Create a new shunting yard with a default set of operators. @@ -158,7 +158,7 @@ public class ShuntingYard { * * @return A list of tokens in postfix notation. */ - public IList postfix(final IList input, + public ListEx postfix(final ListEx input, final Function transformer) { /* * Check our input @@ -169,7 +169,7 @@ public class ShuntingYard { /* * Here's what we're handing back */ - final IList output = new FunctionalList<>(); + final ListEx 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 split(final String input) { + public ListEx 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 - 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); }) ) ); 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 { /* * The contents of this group. */ - private final Deque> contents; + private final Deque> contents; /* * The contents of the current subgroup. */ - private IList> currentGroup; + private ListEx> currentGroup; /* * The token that opened the group, and any opening parameters. @@ -74,7 +74,7 @@ public class DelimiterGroup { * @param itm * The item to add to this group instance. */ - public void addItem(final ITree itm) { + public void addItem(final Tree itm) { currentGroup.add(itm); } @@ -91,8 +91,8 @@ public class DelimiterGroup { /* * Add all of the contents to the subgroup. */ - final ITree subgroupContents = new Tree<>(chars.contents); - for (final ITree itm : currentGroup) { + final Tree subgroupContents = new SimpleTree<>(chars.contents); + for (final Tree itm : currentGroup) { subgroupContents.addChild(itm); } @@ -100,7 +100,7 @@ public class DelimiterGroup { * Handle subordinate sub-groups. */ while (!contents.isEmpty()) { - final ITree possibleSubordinate = contents.peek(); + final Tree possibleSubordinate = contents.peek(); /* * Subordinate lower priority subgroups. @@ -118,8 +118,8 @@ public class DelimiterGroup { } } - final Tree subgroup - = new Tree<>(chars.subgroup, subgroupContents, new Tree<>(marker)); + final SimpleTree subgroup + = new SimpleTree<>(chars.subgroup, subgroupContents, new SimpleTree<>(marker)); contents.push(subgroup); @@ -137,7 +137,7 @@ public class DelimiterGroup { * * @return This group as a tree. */ - public ITree toTree(final T closer, final SequenceCharacteristics chars) { + public Tree toTree(final T closer, final SequenceCharacteristics chars) { /* * Mark any implied subgroups. */ @@ -146,7 +146,7 @@ public class DelimiterGroup { } /* The resulting tree. */ - final ITree res = new Tree<>(chars.contents); + final Tree 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 { 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 { * * @return The name of the group T opens, or null if it doesn't open one. */ - public IPair doesOpen(final T marker) { + public Pair 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> pred : predOpeners) { - final IPair par = pred.apply(marker); + for (final Function> pred : predOpeners) { + final Pair 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 { private final Map impliedSubgroups; /* Allows more complex openings */ - private final List>> predOpeners; + private final List>> predOpeners; /* Allow more complex closings */ private final List> predClosers; @@ -562,7 +562,7 @@ public class DelimiterGroup { * @param pred * The predicate that defines the opener and its parameters. */ - public void addPredOpener(final Function> pred) { + public void addPredOpener(final Function> 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> { +public class RegexOpener implements Function> { /* 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> { } @Override - public IPair apply(final String str) { + public Pair apply(final String str) { final Matcher m = patt.matcher(str); if (m.matches()) { @@ -47,9 +47,9 @@ public class RegexOpener implements Function> { 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 { * delimitation. * */ - public ITree delimitSequence(final SequenceCharacteristics chars, + public Tree delimitSequence(final SequenceCharacteristics 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 { allowedDelimiters.push(HashMultimap.create()); /* Map of who forbid what for debugging purposes. */ - final IMap whoForbid = new PushdownMap<>(); + final MapEx whoForbid = new PushdownMap<>(); /* * Process each member of the sequence. @@ -114,7 +114,7 @@ public class SequenceDelimiter { final T tok = seq[i]; /* Check if this token could open a group. */ - final IPair possibleOpenPar = groupStack.top().doesOpen(tok); + final Pair possibleOpenPar = groupStack.top().doesOpen(tok); T possibleOpen = possibleOpenPar.getLeft(); if (possibleOpen == null) { @@ -217,7 +217,7 @@ public class SequenceDelimiter { 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 { * * @see SequenceDelimiter */ - public ITree delimitSequence(final String... seq) throws DelimiterException { + public Tree 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 spliters; + private final ListEx spliters; /** * Create a new chain token splitter. @@ -40,8 +40,8 @@ public class ChainTokenSplitter implements TokenSplitter { } @Override - public IList split(final String input) { - final IList initList = new FunctionalList<>(input); + public ListEx split(final String input) { + final ListEx 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 split(final String input) { + public ListEx 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 literalExclusions; - private final IList> predExclusions; + private final ListEx> predExclusions; private final TokenSplitter spliter; @@ -59,7 +59,7 @@ public class ExcludingTokenSplitter implements TokenSplitter { } @Override - public IList split(final String input) { + public ListEx 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 split(String input) { + public ListEx 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 split(String input) { + public ListEx 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 split(final String input) { + public ListEx 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 split(String input); + public ListEx 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 split(String input) { + public ListEx split(String input) { return source.split(input).map(transform); } -- cgit v1.2.3 From f3814a84f8471684cd483347db4fb7b107c2e635 Mon Sep 17 00:00:00 2001 From: Ben Culkin Date: Thu, 3 Dec 2020 19:28:15 -0500 Subject: Rename interfaces to match Java style Rename several interfaces that were in the style IWhatever, which Java doesn't use --- .../java/bjc/utils/parserutils/IPrecedent.java | 28 ---------------------- .../main/java/bjc/utils/parserutils/Precedent.java | 28 ++++++++++++++++++++++ .../java/bjc/utils/parserutils/ShuntingYard.java | 8 +++---- 3 files changed, 32 insertions(+), 32 deletions(-) delete mode 100644 base/src/main/java/bjc/utils/parserutils/IPrecedent.java create mode 100644 base/src/main/java/bjc/utils/parserutils/Precedent.java (limited to 'base/src/main/java/bjc/utils/parserutils') diff --git a/base/src/main/java/bjc/utils/parserutils/IPrecedent.java b/base/src/main/java/bjc/utils/parserutils/IPrecedent.java deleted file mode 100644 index eb164b3..0000000 --- a/base/src/main/java/bjc/utils/parserutils/IPrecedent.java +++ /dev/null @@ -1,28 +0,0 @@ -package bjc.utils.parserutils; - -/** - * Represents something that has a set precedence - * - * @author ben - * - */ -@FunctionalInterface -public interface IPrecedent { - /** - * Create a new object with set precedence - * - * @param precedence - * The precedence of the object to handle - * @return A new object with set precedence - */ - public static IPrecedent newSimplePrecedent(final int precedence) { - return () -> precedence; - } - - /** - * Get the precedence of the attached object - * - * @return The precedence of the attached object - */ - public int getPrecedence(); -} diff --git a/base/src/main/java/bjc/utils/parserutils/Precedent.java b/base/src/main/java/bjc/utils/parserutils/Precedent.java new file mode 100644 index 0000000..33b032c --- /dev/null +++ b/base/src/main/java/bjc/utils/parserutils/Precedent.java @@ -0,0 +1,28 @@ +package bjc.utils.parserutils; + +/** + * Represents something that has a set precedence + * + * @author ben + * + */ +@FunctionalInterface +public interface Precedent { + /** + * Create a new object with set precedence + * + * @param precedence + * The precedence of the object to handle + * @return A new object with set precedence + */ + public static Precedent newSimplePrecedent(final int precedence) { + return () -> precedence; + } + + /** + * Get the precedence of the attached object + * + * @return The precedence of the attached object + */ + public int getPrecedence(); +} diff --git a/base/src/main/java/bjc/utils/parserutils/ShuntingYard.java b/base/src/main/java/bjc/utils/parserutils/ShuntingYard.java index f73c315..f0475ff 100644 --- a/base/src/main/java/bjc/utils/parserutils/ShuntingYard.java +++ b/base/src/main/java/bjc/utils/parserutils/ShuntingYard.java @@ -25,7 +25,7 @@ public class ShuntingYard { * @author ben * */ - public static enum Operator implements IPrecedent { + public static enum Operator implements Precedent { /** * Represents addition. */ @@ -59,7 +59,7 @@ public class ShuntingYard { /* * Holds all the shuntable operations. */ - private MapEx operators; + private MapEx operators; /** * Create a new shunting yard with a default set of operators. @@ -95,7 +95,7 @@ public class ShuntingYard { /* * 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 { * @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 */ -- cgit v1.2.3