diff options
| author | bculkin2442 <bjculkin@mix.wvu.edu> | 2017-02-05 18:12:40 -0500 |
|---|---|---|
| committer | bculkin2442 <bjculkin@mix.wvu.edu> | 2017-02-05 18:12:40 -0500 |
| commit | d9f2ccc734bbe2490c3f9a076a86c63ed9db4fc0 (patch) | |
| tree | 5722ae0beadae0c41089af057274d53c64ebfdd3 /BJC-Utils2 | |
| parent | f0e585d22c24eec3a723c6f0ea2a18252c570303 (diff) | |
Grammar optimization
Grammars now only consider things in []'s as rule references
Diffstat (limited to 'BJC-Utils2')
| -rw-r--r-- | BJC-Utils2/src/main/java/bjc/utils/gen/WeightedGrammar.java | 114 | ||||
| -rw-r--r-- | BJC-Utils2/src/main/java/bjc/utils/parserutils/RuleBasedConfigReader.java | 132 | ||||
| -rw-r--r-- | BJC-Utils2/tags | 10 |
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: |
