summaryrefslogtreecommitdiff
path: root/BJC-Utils2
diff options
context:
space:
mode:
Diffstat (limited to 'BJC-Utils2')
-rw-r--r--BJC-Utils2/src/main/java/bjc/utils/gen/WeightedGrammar.java114
-rw-r--r--BJC-Utils2/src/main/java/bjc/utils/parserutils/RuleBasedConfigReader.java132
-rw-r--r--BJC-Utils2/tags10
3 files changed, 115 insertions, 141 deletions
diff --git a/BJC-Utils2/src/main/java/bjc/utils/gen/WeightedGrammar.java b/BJC-Utils2/src/main/java/bjc/utils/gen/WeightedGrammar.java
index 062802c..90b37f8 100644
--- a/BJC-Utils2/src/main/java/bjc/utils/gen/WeightedGrammar.java
+++ b/BJC-Utils2/src/main/java/bjc/utils/gen/WeightedGrammar.java
@@ -23,7 +23,7 @@ public class WeightedGrammar<E> {
/**
* The initial rule of the grammar
*/
- protected String initialRule;
+ protected String initialRule;
/**
* The rules currently in this grammar
@@ -33,12 +33,12 @@ public class WeightedGrammar<E> {
/**
* The random number generator used for random numbers
*/
- private Random rng;
+ private Random rng;
/**
* All of the subgrammars of this grammar
*/
- protected IMap<E, WeightedGrammar<E>> subgrammars;
+ protected IMap<E, WeightedGrammar<E>> subgrammars;
/**
* Create a new weighted grammar.
@@ -59,8 +59,7 @@ public class WeightedGrammar<E> {
this();
if (source == null) {
- throw new NullPointerException(
- "Source of randomness must be non-null");
+ throw new NullPointerException("Source of randomness must be non-null");
}
rng = source;
@@ -97,11 +96,9 @@ public class WeightedGrammar<E> {
*/
public boolean addGrammarAlias(E name, E alias) {
if (name == null) {
- throw new NullPointerException(
- "Subgrammar name must not be null");
+ throw new NullPointerException("Subgrammar name must not be null");
} else if (alias == null) {
- throw new NullPointerException(
- "Subgrammar alias must not be null");
+ throw new NullPointerException("Subgrammar alias must not be null");
}
if (subgrammars.containsKey(alias)) {
@@ -170,8 +167,7 @@ public class WeightedGrammar<E> {
*/
public boolean addSubgrammar(E name, WeightedGrammar<E> subgrammar) {
if (name == null) {
- throw new NullPointerException(
- "Subgrammar name must not be null");
+ throw new NullPointerException("Subgrammar name must not be null");
} else if (subgrammar == null) {
throw new NullPointerException("Subgrammar must not be null");
}
@@ -213,8 +209,9 @@ public class WeightedGrammar<E> {
}
/**
- * Generate a set of debug sentences for the specified rule. Only
- * generates sentances one layer deep.
+ * Generate a set of debug sentences for the specified rule.
+ *
+ * Only generates sentances one layer deep.
*
* @param ruleName
* The rule to test.
@@ -251,11 +248,9 @@ public class WeightedGrammar<E> {
* @return A randomly generated sentance from the specified initial
* rule.
*/
- public <T> IList<T> generateGenericValues(E initRule,
- Function<E, T> tokenTransformer, T spacer) {
+ public <T> IList<T> generateGenericValues(E initRule, Function<E, T> tokenTransformer, T spacer) {
if (initRule == null) {
- throw new NullPointerException(
- "Initial rule must not be null");
+ throw new NullPointerException("Initial rule must not be null");
} else if (tokenTransformer == null) {
throw new NullPointerException("Transformer must not be null");
} else if (spacer == null) {
@@ -265,26 +260,37 @@ public class WeightedGrammar<E> {
IList<T> returnedList = new FunctionalList<>();
if (subgrammars.containsKey(initRule)) {
- subgrammars.get(initRule).generateGenericValues(initRule,
- tokenTransformer, spacer).forEach(rulePart -> {
+ subgrammars.get(initRule)
+ .generateGenericValues(initRule, tokenTransformer, spacer)
+ .forEach(rulePart -> {
returnedList.add(rulePart);
returnedList.add(spacer);
});
} else if (rules.containsKey(initRule)) {
- rules.get(initRule).generateValue()
- .forEach(rulePart -> generateGenericValues(rulePart,
- tokenTransformer, spacer)
- .forEach(generatedRulePart -> {
- returnedList
- .add(generatedRulePart);
+ rules.get(initRule)
+ .generateValue().forEach(rulePart -> {
+ if(rulePart.matches("\\[\\S+\\]") {
+ generateGenericValues(rulePart, tokenTransformer, spacer)
+ .forEach(generatedRulePart -> {
+ returnedList.add(generatedRulePart);
returnedList.add(spacer);
- }));
+ });
+ } else {
+ T transformedToken = tokenTransformer.apply(initRule);
+
+ if (transformedToken == null) {
+ throw new NullPointerException("Transformer created null token");
+ }
+
+ returnedList.add(transformedToken);
+ returnedList.add(spacer);
+ }
+ });
} else {
T transformedToken = tokenTransformer.apply(initRule);
if (transformedToken == null) {
- throw new NullPointerException(
- "Transformer created null token");
+ throw new NullPointerException("Transformer created null token");
}
returnedList.add(transformedToken);
@@ -345,8 +351,7 @@ public class WeightedGrammar<E> {
*/
public WeightedGrammar<E> getSubgrammar(E name) {
if (name == null) {
- throw new NullPointerException(
- "Subgrammar name must not be null");
+ throw new NullPointerException("Subgrammar name must not be null");
}
return subgrammars.get(name);
@@ -378,17 +383,14 @@ public class WeightedGrammar<E> {
if (ruleName == null) {
throw new NullPointerException("Rule name must not be null");
} else if (prefixToken == null) {
- throw new NullPointerException(
- "Prefix token must not be null");
+ throw new NullPointerException("Prefix token must not be null");
} else if (numberOfTimes < 1) {
- throw new IllegalArgumentException(
- "Number of times to prefix must be positive.");
+ throw new IllegalArgumentException("Number of times to prefix must be positive.");
}
WeightedRandom<IList<E>> rule = rules.get(ruleName);
- IList<IPair<Integer,
- IList<E>>> newResults = new FunctionalList<>();
+ IList<IPair<Integer, IList<E>>> newResults = new FunctionalList<>();
rule.getValues().forEach((pair) -> {
IList<IList<E>> newRule = new FunctionalList<>();
@@ -414,8 +416,7 @@ public class WeightedGrammar<E> {
newRule.forEach((list) -> {
Integer currentProb = pair.merge((left, right) -> left);
- newResults.add(new Pair<>(
- currentProb + additionalProbability, list));
+ newResults.add(new Pair<>(currentProb + additionalProbability, list));
});
});
@@ -437,19 +438,16 @@ public class WeightedGrammar<E> {
* @param prefixToken
* The token to prefix to the rule
*/
- public void prefixRule(E ruleName, E prefixToken,
- int additionalProbability) {
+ public void prefixRule(E ruleName, E prefixToken, int additionalProbability) {
if (ruleName == null) {
throw new NullPointerException("Rule name must not be null");
} else if (prefixToken == null) {
- throw new NullPointerException(
- "Prefix token must not be null");
+ throw new NullPointerException("Prefix token must not be null");
}
WeightedRandom<IList<E>> rule = rules.get(ruleName);
- IList<IPair<Integer,
- IList<E>>> newResults = new FunctionalList<>();
+ IList<IPair<Integer, IList<E>>> newResults = new FunctionalList<>();
rule.getValues().forEach((pair) -> {
IList<E> newCase = pair.merge((left, right) -> {
@@ -464,12 +462,12 @@ public class WeightedGrammar<E> {
newCase.prepend(prefixToken);
- newResults.add(new Pair<>(pair.merge((left, right) -> left)
- + additionalProbability, newCase));
+ newResults.add(new Pair<>(pair.merge((left, right) -> left) + additionalProbability, newCase));
});
- newResults.forEach((pair) -> pair
- .doWith((left, right) -> addCase(ruleName, left, right)));
+ newResults.forEach((pair) ->
+ pair.doWith((left, right) ->
+ addCase(ruleName, left, right)));
}
/**
@@ -492,19 +490,16 @@ public class WeightedGrammar<E> {
* @param additionalProbability
* Additional probability of the prefixed rule
*/
- public void suffixRule(E ruleName, E suffixToken,
- int additionalProbability) {
+ public void suffixRule(E ruleName, E suffixToken, int additionalProbability) {
if (ruleName == null) {
throw new NullPointerException("Rule name must not be null");
} else if (suffixToken == null) {
- throw new NullPointerException(
- "Prefix token must not be null");
+ throw new NullPointerException("Prefix token must not be null");
}
WeightedRandom<IList<E>> rule = rules.get(ruleName);
- IList<IPair<Integer,
- IList<E>>> newResults = new FunctionalList<>();
+ IList<IPair<Integer, IList<E>>> newResults = new FunctionalList<>();
rule.getValues().forEach((par) -> {
IList<E> newCase = par.merge((left, right) -> {
@@ -516,13 +511,14 @@ public class WeightedGrammar<E> {
return returnVal;
});
+
newCase.add(suffixToken);
- newResults.add(new Pair<>(par.merge((left, right) -> left)
- + additionalProbability, newCase));
+ newResults.add(new Pair<>(par.merge((left, right) -> left) + additionalProbability, newCase));
});
- newResults.forEach((pair) -> pair
- .doWith((left, right) -> addCase(ruleName, left, right)));
+ newResults.forEach((pair) ->
+ pair.doWith((left, right) ->
+ addCase(ruleName, left, right)));
}
-} \ No newline at end of file
+}
diff --git a/BJC-Utils2/src/main/java/bjc/utils/parserutils/RuleBasedConfigReader.java b/BJC-Utils2/src/main/java/bjc/utils/parserutils/RuleBasedConfigReader.java
index 9da76f8..cbcc6d8 100644
--- a/BJC-Utils2/src/main/java/bjc/utils/parserutils/RuleBasedConfigReader.java
+++ b/BJC-Utils2/src/main/java/bjc/utils/parserutils/RuleBasedConfigReader.java
@@ -28,40 +28,37 @@ import bjc.utils.funcdata.IMap;
public class RuleBasedConfigReader<E> {
// Function to execute when starting a rule
// Takes the tokenizer, and a pair of the read token and application state
- private BiConsumer<FunctionalStringTokenizer, IPair<String,
- E>> startRule;
+ private BiConsumer<FunctionalStringTokenizer, IPair<String, E>> start;
+
// Function to use when continuing a rule
// Takes a tokenizer and application state
- private BiConsumer<FunctionalStringTokenizer,
- E> continueRule;
+ private BiConsumer<FunctionalStringTokenizer, E> continueRule;
+
// Function to use when ending a rule
// Takes an application state
- private Consumer<
- E> endRule;
+ private Consumer<E> end;
// Map of pragma names to pragma actions
// Pragma actions are functions taking a tokenizer and application state
- private IMap<String, BiConsumer<FunctionalStringTokenizer,
- E>> pragmas;
+ private IMap<String, BiConsumer<FunctionalStringTokenizer, E>> pragmas;
/**
* Create a new rule-based config reader
*
- * @param startRule
+ * @param start
* The action to fire when starting a rule
* @param continueRule
* The action to fire when continuing a rule
- * @param endRule
+ * @param end
* The action to fire when ending a rule
*/
public RuleBasedConfigReader(
- BiConsumer<FunctionalStringTokenizer,
- IPair<String, E>> startRule,
+ BiConsumer<FunctionalStringTokenizer, IPair<String, E>> start,
BiConsumer<FunctionalStringTokenizer, E> continueRule,
- Consumer<E> endRule) {
- this.startRule = startRule;
+ Consumer<E> end) {
+ this.start = start;
this.continueRule = continueRule;
- this.endRule = endRule;
+ this.end = end;
this.pragmas = new FunctionalMap<>();
}
@@ -69,50 +66,45 @@ public class RuleBasedConfigReader<E> {
/**
* Add a pragma to this reader
*
- * @param pragmaName
+ * @param name
* The name of the pragma to add
- * @param pragmaAction
+ * @param action
* The function to execute when this pragma is read
*/
- public void addPragma(String pragmaName,
- BiConsumer<FunctionalStringTokenizer, E> pragmaAction) {
- if (pragmaName == null) {
+ public void addPragma(
+ String name,
+ BiConsumer<FunctionalStringTokenizer, E> action) {
+ if (name == null) {
throw new NullPointerException("Pragma name must not be null");
- } else if (pragmaAction == null) {
- throw new NullPointerException(
- "Pragma action must not be null");
+ } else if (action == null) {
+ throw new NullPointerException("Pragma action must not be null");
}
- pragmas.put(pragmaName, pragmaAction);
+ pragmas.put(name, action);
}
- private void continueRule(E state, boolean ruleOpen, String line) {
+ private void continueRule(E state, boolean isRuleOpen, String line) {
// Make sure our input is correct
- if (ruleOpen == false) {
- throw new InputMismatchException(
- "Can't continue rule with no rule currently open");
+ if (isRuleOpen == false) {
+ throw new InputMismatchException("Cannot continue rule with no rule open");
} else if (continueRule == null) {
- throw new InputMismatchException(
- "Attempted to continue rule with rule continuation disabled."
- + " Check for extraneous tabs");
+ throw new InputMismatchException("Rule continuation not supported for current grammar");
}
// Accept the rule
- continueRule.accept(
- new FunctionalStringTokenizer(line.substring(1), " "),
- state);
- }
+ continueRule.accept(new FunctionalStringTokenizer(line.substring(1), " "), state);
+ }
- private boolean endRule(E state, boolean ruleOpen) {
+ private boolean endRule(E state, boolean isRuleOpen) {
// Ignore blank line without an open rule
- if (ruleOpen == false) {
+ if (isRuleOpen == false) {
// Do nothing
return false;
} else {
// Nothing happens on rule end
- if (endRule != null) {
+ if (end != null) {
// Process the rule ending
- endRule.accept(state);
+ end.accept(state);
}
// Return a closed rule
@@ -123,42 +115,42 @@ public class RuleBasedConfigReader<E> {
/**
* Run a stream through this reader
*
- * @param inputStream
+ * @param input
* The stream to get input
* @param initialState
* The initial state of the reader
* @return The final state of the reader
*/
- public E fromStream(InputStream inputStream, E initialState) {
- if (inputStream == null) {
- throw new NullPointerException(
- "Input stream must not be null");
+ public E fromStream(InputStream input, E initialState) {
+ if (input == null) {
+ throw new NullPointerException("Input stream must not be null");
}
// Application state: We're giving this back later
E state = initialState;
// Prepare our input source
- try (Scanner inputSource = new Scanner(inputStream, "\n")) {
+ try (Scanner source = new Scanner(input, "\n")) {
// This is true when a rule's open
- IHolder<Boolean> ruleOpen = new Identity<>(false);
+ IHolder<Boolean> isRuleOpen = new Identity<>(false);
// Do something for every line of the file
- inputSource.forEachRemaining((line) -> {
+ source.forEachRemaining((line) -> {
// Skip comment lines
if (line.startsWith("#") || line.startsWith("//")) {
// It's a comment
return;
} else if (line.equals("")) {
// End the rule
- ruleOpen.replace(endRule(state, ruleOpen.getValue()));
+ isRuleOpen.replace(
+ endRule(state, isRuleOpen.getValue()));
} else if (line.startsWith("\t")) {
// Continue the rule
- continueRule(state, ruleOpen.getValue(), line);
+ continueRule(state, isRuleOpen.getValue(), line);
} else {
// Open a rule
- ruleOpen.replace(
- startRule(state, ruleOpen.getValue(), line));
+ isRuleOpen.replace(
+ startRule(state, isRuleOpen.getValue(), line));
}
});
}
@@ -182,33 +174,30 @@ public class RuleBasedConfigReader<E> {
/**
* Set the action to execute when ending a rule
*
- * @param endRule
+ * @param end
* The action to execute on ending of a rule
*/
- public void setEndRule(Consumer<E> endRule) {
- this.endRule = endRule;
+ public void setEndRule(Consumer<E> end) {
+ this.end = end;
}
/**
* Set the action to execute when starting a rule
*
- * @param startRule
+ * @param start
* The action to execute on starting of a rule
*/
- public void setStartRule(BiConsumer<FunctionalStringTokenizer,
- IPair<String, E>> startRule) {
- if (startRule == null) {
- throw new NullPointerException(
- "Action on rule start must be non-null");
+ public void setStartRule(BiConsumer<FunctionalStringTokenizer, IPair<String, E>> start) {
+ if (start == null) {
+ throw new NullPointerException("Action on rule start must be non-null");
}
- this.startRule = startRule;
+ this.start = start;
}
- private boolean startRule(E state, boolean ruleOpen, String line) {
+ private boolean startRule(E state, boolean isRuleOpen, String line) {
// Create the line tokenizer
- FunctionalStringTokenizer tokenizer = new FunctionalStringTokenizer(
- line, " ");
+ FunctionalStringTokenizer tokenizer = new FunctionalStringTokenizer(line, " ");
// Get the initial token
String nextToken = tokenizer.nextToken();
@@ -220,23 +209,20 @@ public class RuleBasedConfigReader<E> {
// Handle pragmas
pragmas.getOrDefault(token, (tokenzer, stat) -> {
- throw new UnknownPragmaException(
- "Unknown pragma " + token);
+ throw new UnknownPragmaException("Unknown pragma " + token);
}).accept(tokenizer, state);
} else {
// Make sure input is correct
- if (ruleOpen == true) {
- throw new InputMismatchException("Attempted to open a"
- + " rule with a rule already open. Make sure rules are"
- + " seperated by blank lines");
+ if (isRuleOpen == true) {
+ throw new InputMismatchException("Nested rules are currently not supported");
}
// Start a rule
- startRule.accept(tokenizer, new Pair<>(nextToken, state));
+ start.accept(tokenizer, new Pair<>(nextToken, state));
- ruleOpen = true;
+ isRuleOpen = true;
}
- return ruleOpen;
+ return isRuleOpen;
}
}
diff --git a/BJC-Utils2/tags b/BJC-Utils2/tags
index f1ba4ac..bad0ac3 100644
--- a/BJC-Utils2/tags
+++ b/BJC-Utils2/tags
@@ -104,11 +104,9 @@ ICommandMode src/main/java/bjc/utils/cli/ICommandMode.java /^public interface IC
IComponentRepository src/main/java/bjc/utils/components/IComponentRepository.java /^public interface IComponentRepository<$/;" i
IDescribedComponent src/main/java/bjc/utils/components/IDescribedComponent.java /^public interface IDescribedComponent {$/;" i
IHolder src/main/java/bjc/utils/data/IHolder.java /^public interface IHolder<ContainedType> extends Functor<ContainedType> {$/;" i
-IItem src/main/java/bjc/utils/parserutils/StackBasedConfigReader.java /^ public static interface IItem {$/;" i class:StackBasedConfigReader
IList src/main/java/bjc/utils/funcdata/IList.java /^public interface IList<ContainedType> {$/;" i
IMap src/main/java/bjc/utils/funcdata/IMap.java /^public interface IMap<KeyType, ValueType> {$/;" i
INORDER src/main/java/bjc/utils/funcdata/bst/TreeLinearizationMethod.java /^ INORDER,$/;" e enum:TreeLinearizationMethod file:
-INTEGER src/main/java/bjc/utils/parserutils/StackBasedConfigReader.java /^ INTEGER,$/;" e enum:StackBasedConfigReader.ItemType file:
IPair src/main/java/bjc/utils/data/IPair.java /^public interface IPair<LeftType, RightType>$/;" i
IPrecedent src/main/java/bjc/utils/parserutils/IPrecedent.java /^public interface IPrecedent {$/;" i
ITree src/main/java/bjc/utils/data/ITree.java /^public interface ITree<ContainedType> {$/;" i
@@ -116,7 +114,6 @@ ITreePart src/main/java/bjc/utils/funcdata/bst/ITreePart.java /^public interface
Identity src/main/java/bjc/utils/data/Identity.java /^ public Identity() {$/;" m class:Identity
Identity src/main/java/bjc/utils/data/Identity.java /^ public Identity(ContainedType value) {$/;" m class:Identity
Identity src/main/java/bjc/utils/data/Identity.java /^public class Identity<ContainedType> implements IHolder<ContainedType> {$/;" c
-ItemType src/main/java/bjc/utils/parserutils/StackBasedConfigReader.java /^ public static enum ItemType {$/;" g class:StackBasedConfigReader
LEFT src/main/java/bjc/utils/funcdata/bst/DirectedWalkFunction.java /^ LEFT,$/;" e enum:DirectedWalkFunction.DirectedWalkResult file:
Lazy src/main/java/bjc/utils/data/Lazy.java /^ private Lazy(Supplier<ContainedType> supp,$/;" m class:Lazy file:
Lazy src/main/java/bjc/utils/data/Lazy.java /^ public Lazy(ContainedType value) {$/;" m class:Lazy
@@ -137,7 +134,6 @@ NullHelp src/main/java/bjc/utils/cli/NullHelp.java /^public class NullHelp imple
NumberFormatter src/main/java/bjc/utils/gui/panels/SliderInputPanel.java /^ public NumberFormatter(SliderSettings settings) {$/;" m class:SliderInputPanel.NumberFormatter
NumberFormatter src/main/java/bjc/utils/gui/panels/SliderInputPanel.java /^ private final class NumberFormatter$/;" c class:SliderInputPanel
NumberUtils src/main/java/bjc/utils/funcutils/NumberUtils.java /^public class NumberUtils {$/;" c
-OBJECT src/main/java/bjc/utils/parserutils/StackBasedConfigReader.java /^ OBJECT$/;" e enum:StackBasedConfigReader.ItemType file:
Operator src/main/java/bjc/utils/parserutils/ShuntingYard.java /^ private Operator(int prec) {$/;" m class:ShuntingYard.Operator file:
Operator src/main/java/bjc/utils/parserutils/ShuntingYard.java /^ public static enum Operator implements IPrecedent {$/;" g class:ShuntingYard
OperatorHandler src/main/java/bjc/utils/parserutils/TokenTransformer.java /^ public OperatorHandler(TokenType element) {$/;" m class:TokenTransformer.OperatorHandler
@@ -164,7 +160,6 @@ RuleBasedConfigReader src/main/java/bjc/utils/parserutils/RuleBasedConfigReader.
RuleBasedConfigReader src/main/java/bjc/utils/parserutils/RuleBasedConfigReader.java /^public class RuleBasedConfigReader<E> {$/;" c
RuleBasedReaderPragmas src/main/java/bjc/utils/parserutils/RuleBasedReaderPragmas.java /^public class RuleBasedReaderPragmas {$/;" c
SKIP src/main/java/bjc/utils/data/TopDownTransformResult.java /^ SKIP,$/;" e enum:TopDownTransformResult file:
-STRING src/main/java/bjc/utils/parserutils/StackBasedConfigReader.java /^ STRING,$/;" e enum:StackBasedConfigReader.ItemType file:
SUBTRACT src/main/java/bjc/utils/parserutils/ShuntingYard.java /^ SUBTRACT(2),$/;" e enum:ShuntingYard.Operator file:
SUCCESS src/main/java/bjc/utils/funcdata/bst/DirectedWalkFunction.java /^ SUCCESS$/;" e enum:DirectedWalkFunction.DirectedWalkResult file:
ShuntTest src/examples/java/bjc/utils/examples/parsing/ShuntTest.java /^public class ShuntTest {$/;" c
@@ -193,7 +188,6 @@ SliderInputPanel src/main/java/bjc/utils/gui/panels/SliderInputPanel.java /^publ
SliderSettings src/main/java/bjc/utils/gui/panels/SliderInputPanel.java /^ public SliderSettings(int min, int max) {$/;" m class:SliderInputPanel.SliderSettings
SliderSettings src/main/java/bjc/utils/gui/panels/SliderInputPanel.java /^ public SliderSettings(int min, int max, int init) {$/;" m class:SliderInputPanel.SliderSettings
SliderSettings src/main/java/bjc/utils/gui/panels/SliderInputPanel.java /^ public static class SliderSettings {$/;" c class:SliderInputPanel
-StackBasedConfigReader src/main/java/bjc/utils/parserutils/StackBasedConfigReader.java /^public class StackBasedConfigReader {$/;" c
StringUtils src/main/java/bjc/utils/funcutils/StringUtils.java /^public class StringUtils {$/;" c
TRANSFORM src/main/java/bjc/utils/data/TopDownTransformResult.java /^ TRANSFORM,$/;" e enum:TopDownTransformResult file:
TextAreaOutputStream src/main/java/bjc/utils/gui/TextAreaOutputStream.java /^ public TextAreaOutputStream(JTextArea console) {$/;" m class:TextAreaOutputStream
@@ -423,7 +417,6 @@ bjc.utils.parserutils src/main/java/bjc/utils/parserutils/IPrecedent.java /^pack
bjc.utils.parserutils src/main/java/bjc/utils/parserutils/RuleBasedConfigReader.java /^package bjc.utils.parserutils;$/;" p
bjc.utils.parserutils src/main/java/bjc/utils/parserutils/RuleBasedReaderPragmas.java /^package bjc.utils.parserutils;$/;" p
bjc.utils.parserutils src/main/java/bjc/utils/parserutils/ShuntingYard.java /^package bjc.utils.parserutils;$/;" p
-bjc.utils.parserutils src/main/java/bjc/utils/parserutils/StackBasedConfigReader.java /^package bjc.utils.parserutils;$/;" p
bjc.utils.parserutils src/main/java/bjc/utils/parserutils/TokenTransformer.java /^package bjc.utils.parserutils;$/;" p
bjc.utils.parserutils src/main/java/bjc/utils/parserutils/TreeConstructor.java /^package bjc.utils.parserutils;$/;" p
boundHolder src/main/java/bjc/utils/data/BoundLazy.java /^ private IHolder<BoundContainedType> boundHolder;$/;" f class:BoundLazy file:
@@ -679,7 +672,6 @@ getSummary src/main/java/bjc/utils/cli/GenericHelp.java /^ public String getSumm
getSummary src/main/java/bjc/utils/cli/ICommandHelp.java /^ public String getSummary();$/;" m interface:ICommandHelp
getSummary src/main/java/bjc/utils/cli/NullHelp.java /^ public String getSummary() {$/;" m class:NullHelp
getTarget src/main/java/bjc/utils/graph/Edge.java /^ public T getTarget() {$/;" m class:Edge
-getType src/main/java/bjc/utils/parserutils/StackBasedConfigReader.java /^ public ItemType getType();$/;" m interface:StackBasedConfigReader.IItem
getValue src/main/java/bjc/utils/data/IHolder.java /^ public default ContainedType getValue() {$/;" m interface:IHolder
getValue src/main/java/bjc/utils/funcdata/theory/Functor.java /^ public ContainedType getValue();$/;" m interface:Functor
getValue src/main/java/bjc/utils/gui/SimpleDialogs.java /^ public static <E> E getValue(Component parent, String title,$/;" m class:SimpleDialogs
@@ -738,7 +730,7 @@ isDeleted src/main/java/bjc/utils/funcdata/bst/BinarySearchTreeLeaf.java /^ prot
isDirected src/main/java/bjc/utils/graph/AdjacencyMap.java /^ public boolean isDirected() {$/;" m class:AdjacencyMap
isEmpty src/main/java/bjc/utils/funcdata/FunctionalList.java /^ public boolean isEmpty() {$/;" m class:FunctionalList
isEmpty src/main/java/bjc/utils/funcdata/IList.java /^ boolean isEmpty();$/;" m interface:IList
-isHigherPrec src/main/java/bjc/utils/parserutils/ShuntingYard.java /^ private boolean isHigherPrec(String leftOperator,$/;" m class:ShuntingYard file:
+isHigherPrec src/main/java/bjc/utils/parserutils/ShuntingYard.java /^ private boolean isHigherPrec(String leftOperator, String rightOperator) {$/;" m class:ShuntingYard file:
isInTree src/main/java/bjc/utils/funcdata/bst/BinarySearchTree.java /^ public boolean isInTree(T element) {$/;" m class:BinarySearchTree
isLeft src/main/java/bjc/utils/data/Either.java /^ private boolean isLeft;$/;" f class:Either file:
isPartitionFull src/main/java/bjc/utils/funcdata/FunctionalList.java /^ private Boolean isPartitionFull(int numberPerPartition,$/;" m class:FunctionalList file: