diff options
| author | Ben Culkin <scorpress@gmail.com> | 2020-12-03 19:23:06 -0500 |
|---|---|---|
| committer | Ben Culkin <scorpress@gmail.com> | 2020-12-03 19:23:06 -0500 |
| commit | 223dc6d10617d282204c515cf3794d59a31ebf16 (patch) | |
| tree | ba95ae5a14eecbef4e1543f154ee2b279b30f033 | |
| parent | 80aa147aedc91356276d4346efb1ea62ea5b06f9 (diff) | |
Adapt to esodata changes
12 files changed, 115 insertions, 115 deletions
diff --git a/src/main/java/bjc/rgens/ZadronsPouch.java b/src/main/java/bjc/rgens/ZadronsPouch.java index 0f5be70..b50c8f1 100755 --- a/src/main/java/bjc/rgens/ZadronsPouch.java +++ b/src/main/java/bjc/rgens/ZadronsPouch.java @@ -2,7 +2,7 @@ package bjc.rgens; import bjc.funcdata.FunctionalList; import bjc.funcdata.FunctionalStringTokenizer; -import bjc.funcdata.IList; +import bjc.funcdata.ListEx; import bjc.utils.gen.RandomGrammar; /** @@ -21,7 +21,7 @@ public class ZadronsPouch { ZadronsPouch zp = new ZadronsPouch(); for (int i = 0; i < 100; i++) { - IList<String> ls = zp.grammar.generateListValues("[item]", " "); + ListEx<String> ls = zp.grammar.generateListValues("[item]", " "); StringBuilder sb = new StringBuilder(); @@ -179,7 +179,7 @@ public class ZadronsPouch { } private void addRule(String rule, String... cases) { - IList<IList<String>> cses = new FunctionalList<>(); + ListEx<ListEx<String>> cses = new FunctionalList<>(); for (String strang : cases) { cses.add(FunctionalStringTokenizer.fromString(strang).toList(s -> s)); diff --git a/src/main/java/bjc/rgens/parser/ConfigLoader.java b/src/main/java/bjc/rgens/parser/ConfigLoader.java index 8427726..3cfed75 100644 --- a/src/main/java/bjc/rgens/parser/ConfigLoader.java +++ b/src/main/java/bjc/rgens/parser/ConfigLoader.java @@ -1,8 +1,8 @@ package bjc.rgens.parser; -import bjc.data.ITree; -import bjc.data.QueuedIterator; import bjc.data.Tree; +import bjc.data.QueuedIterator; +import bjc.data.SimpleTree; import bjc.utils.funcutils.StringUtils; @@ -53,7 +53,7 @@ public class ConfigLoader { throws IOException { String msg = String.format("INFO: Loading config file from path '%s'", cfgFile); - ITree<String> errTree = new Tree<>(msg); + Tree<String> errTree = new SimpleTree<>(msg); return fromConfigFile(cfgFile, lopts, errTree); } @@ -75,7 +75,7 @@ public class ConfigLoader { * If something goes wrong during configuration loading. */ public static ConfigSet fromConfigFile(Path cfgFile, LoadOptions lopts, - ITree<String> errs) throws IOException { + Tree<String> errs) throws IOException { lopts.cfgFile = cfgFile; lopts.cfgSet = new ConfigSet(); @@ -113,8 +113,8 @@ public class ConfigLoader { // We should support some sort of line // continuation ability, probably using the '\' // since that what UNIX uses in most places - ITree<String> header - = new Tree<>(String.format("INFO: Processing line %d", lno)); + Tree<String> header + = new SimpleTree<>(String.format("INFO: Processing line %d", lno)); String[] parts = StringUtils.levelSplit(ln, " ").toArray(new String[0]); @@ -179,7 +179,7 @@ public class ConfigLoader { // Load a line from a config file. private static void loadConfigLine(String[] parts, LoadOptions lopts, - ITree<String> errs) throws IOException { + Tree<String> errs) throws IOException { if (parts.length < 2) { // Must specify the type of config object you wish to // load. @@ -243,7 +243,7 @@ public class ConfigLoader { // Load a 'directory' config object, by recursively attempting to // auto-load all of the items in the directory as objects private static void loadDirectory(String name, String[] parts, LoadOptions lopts, - ITree<String> errs) { + Tree<String> errs) { if (parts.length < 4) { String fmt = String.format( "ERROR: Must specify a path to load directory '%s' from", name); @@ -271,7 +271,7 @@ public class ConfigLoader { QueuedIterator<File> dirItr = new QueuedIterator<>(dirPath.toFile().listFiles()); - ITree<String> header = new Tree<>(String.format( + Tree<String> header = new SimpleTree<>(String.format( "INFO: Bulk-loading objects from directory '%s'", lopts.parent)); while (dirItr.hasNext()) { @@ -279,7 +279,7 @@ public class ConfigLoader { String fName = curFile.toString(); - ITree<String> kid = new Tree<>( + Tree<String> kid = new SimpleTree<>( String.format("INFO: Processing object from path '%s'", fName)); Path oldPar = lopts.parent; @@ -328,7 +328,7 @@ public class ConfigLoader { // Actually do the work of loading a 'template' object private static void doLoadTemplate(Reader rdr, String name, LoadOptions lopts, - ITree<String> errs) throws IOException { + Tree<String> errs) throws IOException { String actName; long startFileTime = System.nanoTime(); @@ -385,7 +385,7 @@ public class ConfigLoader { // Load a 'template' type grammar object private static void loadTemplate(String name, String[] parts, LoadOptions lopts, - ITree<String> errs) throws IOException { + Tree<String> errs) throws IOException { if (parts.length < 4) { String fmt = String.format( "ERROR: Must specify a path to load template '%s' from", name); @@ -413,7 +413,7 @@ public class ConfigLoader { String fmt = String.format("INFO: Loading template '%s' from '%s'", name, convPath); - ITree<String> kid = new Tree<>(fmt); + Tree<String> kid = new SimpleTree<>(fmt); Path oldPar = lopts.parent; lopts.parent = convPath.getParent(); @@ -430,7 +430,7 @@ public class ConfigLoader { // Actually load a 'grammar' object private static void doLoadGrammar(Reader rdr, String name, LoadOptions lopts, - ITree<String> errs, Path convPath) throws IOException { + Tree<String> errs, Path convPath) throws IOException { String actName; long startFileTime = System.nanoTime(); @@ -475,7 +475,7 @@ public class ConfigLoader { // Load a 'grammar' object private static void loadGrammar(String name, String[] parts, LoadOptions lopts, - ITree<String> errs) { + Tree<String> errs) { if (parts.length < 4) { String fmt = String .format("ERROR: Must provide a path to load grammar '%s' from", name); @@ -508,7 +508,7 @@ public class ConfigLoader { Reader rdr = new FileReader(convPath.toFile()); - ITree<String> kid = new Tree<>(String + Tree<String> kid = new SimpleTree<>(String .format("INFO: Loading grammar '%s' from '%s'", name, convPath)); doLoadGrammar(rdr, name, lopts, kid, convPath); diff --git a/src/main/java/bjc/rgens/parser/RGrammar.java b/src/main/java/bjc/rgens/parser/RGrammar.java index 612fcfe..47f2a1c 100755 --- a/src/main/java/bjc/rgens/parser/RGrammar.java +++ b/src/main/java/bjc/rgens/parser/RGrammar.java @@ -1,10 +1,10 @@ package bjc.rgens.parser; -import static bjc.data.IPair.pair; +import static bjc.data.Pair.pair; -import bjc.data.IPair; -import bjc.data.ITree; +import bjc.data.Pair; import bjc.data.Tree; +import bjc.data.SimpleTree; import bjc.utils.ioutils.ReportWriter; import bjc.rgens.parser.elements.*; @@ -44,10 +44,10 @@ public class RGrammar { /** * The post-processing find/replace pairs applied to this grammars outputs. */ - public List<IPair<String, String>> postprocs; + public List<Pair<String, String>> postprocs; /* The default post-processing rules to apply. */ - private static final List<IPair<String, String>> builtinPostprocs; + private static final List<Pair<String, String>> builtinPostprocs; /** * Should we use the built-in post-processing procedures? @@ -104,7 +104,7 @@ public class RGrammar { static { /* Collapse duplicate spaces */ - IPair<String, String> collapseDupSpaces = pair("\\s+", " "); + Pair<String, String> collapseDupSpaces = pair("\\s+", " "); /* Built-in post-processing steps */ builtinPostprocs = Arrays.asList(collapseDupSpaces, @@ -288,12 +288,12 @@ public class RGrammar { String body = strang; if (useBuiltinPostprocs) { - for (IPair<String, String> par : builtinPostprocs) { + for (Pair<String, String> par : builtinPostprocs) { body = body.replaceAll(par.getLeft(), par.getRight()); } } - for (IPair<String, String> par : postprocs) { + for (Pair<String, String> par : postprocs) { body = body.replaceAll(par.getLeft(), par.getRight()); } @@ -335,7 +335,7 @@ public class RGrammar { * initial rule. */ public void setInitialRule(String initRule) { - setInitialRule(initRule, new Tree<>()); + setInitialRule(initRule, new SimpleTree<>()); } /** @@ -348,7 +348,7 @@ public class RGrammar { * @param errs * The tree to store errors in. */ - public void setInitialRule(String initRule, ITree<String> errs) { + public void setInitialRule(String initRule, Tree<String> errs) { /* Passing null, nulls our initial rule. */ if (initRule == null) { this.initialRule = null; diff --git a/src/main/java/bjc/rgens/parser/RGrammarBuilder.java b/src/main/java/bjc/rgens/parser/RGrammarBuilder.java index e7e799e..a1efcb3 100755 --- a/src/main/java/bjc/rgens/parser/RGrammarBuilder.java +++ b/src/main/java/bjc/rgens/parser/RGrammarBuilder.java @@ -9,13 +9,13 @@ import java.util.Map; import java.util.Set; import bjc.rgens.parser.elements.CaseElement; -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; import bjc.utils.funcutils.ListUtils; import bjc.utils.funcutils.SetUtils; @@ -62,7 +62,7 @@ public class RGrammarBuilder { * The rule by that name, or a new one if none existed. */ public Rule getOrCreateRule(String rName) { - return getOrCreateRule(rName, new Tree<>()); + return getOrCreateRule(rName, new SimpleTree<>()); } /** @@ -76,7 +76,7 @@ public class RGrammarBuilder { * @return * The rule by that name, or a new one if none existed. */ - public Rule getOrCreateRule(String rName, ITree<String> errs) { + public Rule getOrCreateRule(String rName, Tree<String> errs) { if(rName == null) { errs.addChild("ERROR: Rule name must not be null"); @@ -139,7 +139,7 @@ public class RGrammarBuilder { * If the rule is either not valid or not defined in the grammar. */ public void setInitialRule(String init) { - ITree<String> errs = new Tree<>(); + Tree<String> errs = new SimpleTree<>(); setInitialRule(init, errs); @@ -157,7 +157,7 @@ public class RGrammarBuilder { * @throws IllegalArgumentException * If the rule is either not valid or not defined in the grammar. */ - public void setInitialRule(String init, ITree<String> errs) { + public void setInitialRule(String init, Tree<String> errs) { if (init == null) { errs.addChild("init must not be null"); @@ -181,7 +181,7 @@ public class RGrammarBuilder { * If the rule is either not valid or not defined in the grammar. */ public void addExport(String export) { - addExport(export, new Tree<>()); + addExport(export, new SimpleTree<>()); } /** @@ -195,7 +195,7 @@ public class RGrammarBuilder { * @throws IllegalArgumentException * If the rule is either not valid or not defined in the grammar. */ - public void addExport(String export, ITree<String> errs) { + public void addExport(String export, Tree<String> errs) { if (export == null) { errs.addChild("ERROR: Export name must not be null"); @@ -223,7 +223,7 @@ public class RGrammarBuilder { * grammar, or if the suffix is invalid. */ public void suffixWith(String ruleName, List<CaseElement> suffixes) { - affixWith(ruleName, suffixes, AffixType.SUFFIX, new Tree<>()); + affixWith(ruleName, suffixes, AffixType.SUFFIX, new SimpleTree<>()); } @@ -241,7 +241,7 @@ public class RGrammarBuilder { * grammar, or if the prefix is invalid. */ public void prefixWith(String ruleName, List<CaseElement> prefixes) { - affixWith(ruleName, prefixes, AffixType.PREFIX, new Tree<>()); + affixWith(ruleName, prefixes, AffixType.PREFIX, new SimpleTree<>()); } /** @@ -258,7 +258,7 @@ public class RGrammarBuilder { * grammar, or if the prefix/suffix is invalid. */ public void circumfixWith(String ruleName, List<CaseElement> prefixes) { - affixWith(ruleName, prefixes, AffixType.CIRCUMFIX, new Tree<>()); + affixWith(ruleName, prefixes, AffixType.CIRCUMFIX, new SimpleTree<>()); } /** @@ -277,7 +277,7 @@ public class RGrammarBuilder { * grammar, or if the prefix/suffix is invalid. */ public void affixWith(String ruleName, List<CaseElement> affixes, AffixType type) { - affixWith(ruleName, affixes, type, new Tree<>()); + affixWith(ruleName, affixes, type, new SimpleTree<>()); } /** @@ -297,7 +297,7 @@ public class RGrammarBuilder { * If the rule name is either invalid or not defined by this * grammar, or if the prefix/suffix is invalid. */ - public void affixWith(String ruleName, List<CaseElement> affixes, AffixType type, ITree<String> errs) { + public void affixWith(String ruleName, List<CaseElement> affixes, AffixType type, Tree<String> errs) { if (ruleName == null) { errs.addChild("ERROR: Rule name must not be null"); @@ -318,10 +318,10 @@ public class RGrammarBuilder { List<List<CaseElement>> affixLists = powerList(elements); - FunctionalList<IPair<Integer, RuleCase>> newCases = new FunctionalList<>(); - IList<IPair<Integer, RuleCase>> caseList = rules.get(ruleName).getCases(); + FunctionalList<Pair<Integer, RuleCase>> newCases = new FunctionalList<>(); + ListEx<Pair<Integer, RuleCase>> caseList = rules.get(ruleName).getCases(); - for (IPair<Integer, RuleCase> ruleCase : caseList) { + for (Pair<Integer, RuleCase> ruleCase : caseList) { RuleCase cas = ruleCase.getRight(); for(List<CaseElement> affixList : affixLists) { @@ -344,12 +344,12 @@ public class RGrammarBuilder { } - newCases.add(new Pair<>(ruleCase.getLeft(), cas.withElements(newCase))); + newCases.add(new SimplePair<>(ruleCase.getLeft(), cas.withElements(newCase))); } } - for (IPair<Integer, RuleCase> newCase : newCases) { + for (Pair<Integer, RuleCase> newCase : newCases) { rules.get(ruleName).addCase(newCase.getRight(), newCase.getLeft()); } } @@ -360,7 +360,7 @@ public class RGrammarBuilder { * @param ruleName The rule to perform despacing on. */ public void despaceRule(String ruleName) { - despaceRule(ruleName, new Tree<>(), false); + despaceRule(ruleName, new SimpleTree<>(), false); } /** @@ -370,7 +370,7 @@ public class RGrammarBuilder { * @param errs The place to put errors. * @param doTrace Whether or not to do tracing. */ - public void despaceRule(String ruleName, ITree<String> errs, boolean doTrace) { + public void despaceRule(String ruleName, Tree<String> errs, boolean doTrace) { if (ruleName == null) { errs.addChild("ERROR: Rule name must not be null"); @@ -387,12 +387,12 @@ public class RGrammarBuilder { return; } - IList<IPair<Integer, RuleCase>> caseList = rules.get(ruleName).getCases(); + ListEx<Pair<Integer, RuleCase>> caseList = rules.get(ruleName).getCases(); - IList<IPair<Integer, RuleCase>> newCaseList = new FunctionalList<>(); + ListEx<Pair<Integer, RuleCase>> newCaseList = new FunctionalList<>(); - for(IPair<Integer, RuleCase> cse : caseList) { - newCaseList.add(new Pair<>(cse.getLeft(), new FlatRuleCase(cse.getRight().elementList))); + for(Pair<Integer, RuleCase> cse : caseList) { + newCaseList.add(new SimplePair<>(cse.getLeft(), new FlatRuleCase(cse.getRight().elementList))); } if (doTrace) { @@ -410,7 +410,7 @@ public class RGrammarBuilder { * @param ruleName The rule to set the weight for. */ public void setWeight(String ruleName) { - setWeight(ruleName, new Tree<>()); + setWeight(ruleName, new SimpleTree<>()); } /** @@ -419,7 +419,7 @@ public class RGrammarBuilder { * @param ruleName The rule to set the weight for. * @param errs The place to put errors. */ - public void setWeight(String ruleName, ITree<String> errs) { + public void setWeight(String ruleName, Tree<String> errs) { if (ruleName == null) { errs.addChild("ERROR: Rule name must not be null"); @@ -446,7 +446,7 @@ public class RGrammarBuilder { * @param recurLimit The limit of the number of times to recur. */ public void setRuleRecur(String ruleName, int recurLimit) { - setRuleRecur(ruleName, recurLimit, new Tree<>()); + setRuleRecur(ruleName, recurLimit, new SimpleTree<>()); } /** @@ -456,7 +456,7 @@ public class RGrammarBuilder { * @param recurLimit The limit of the number of times to recur. * @param errs The place to put errors. */ - public void setRuleRecur(String ruleName, int recurLimit, ITree<String> errs) { + public void setRuleRecur(String ruleName, int recurLimit, Tree<String> errs) { if (ruleName == null) { errs.addChild("ERROR: Rule name must not be null"); @@ -483,7 +483,7 @@ public class RGrammarBuilder { * @param descentFactor The amount to descend by every time. */ public void setDescent(String ruleName, int descentFactor) { - setDescent(ruleName, descentFactor, new Tree<>()); + setDescent(ruleName, descentFactor, new SimpleTree<>()); } /** @@ -493,7 +493,7 @@ public class RGrammarBuilder { * @param descentFactor The amount to descend by every time. * @param errs Place to put errors. */ - public void setDescent(String ruleName, int descentFactor, ITree<String> errs) { + public void setDescent(String ruleName, int descentFactor, Tree<String> errs) { if (ruleName == null) { errs.addChild("ERROR: Rule name must not be null"); @@ -525,7 +525,7 @@ public class RGrammarBuilder { * @param trials The number of trials for the distribution. */ public void setBinomial(String ruleName, int target, int bound, int trials) { - setBinomial(ruleName, target, bound, trials, new Tree<>()); + setBinomial(ruleName, target, bound, trials, new SimpleTree<>()); } /** @@ -537,7 +537,7 @@ public class RGrammarBuilder { * @param trials The number of trials for the distribution. * @param errs The place to put errors. */ - public void setBinomial(String ruleName, int target, int bound, int trials, ITree<String> errs) { + public void setBinomial(String ruleName, int target, int bound, int trials, Tree<String> errs) { if (ruleName == null) { errs.addChild("ERROR: Rule name must not be null"); @@ -589,7 +589,7 @@ public class RGrammarBuilder { * @param reject The rejection for the rule. */ public void rejectRule(String rule, String reject) { - rejectRule(rule, reject, new Tree<>()); + rejectRule(rule, reject, new SimpleTree<>()); } /** @@ -599,7 +599,7 @@ public class RGrammarBuilder { * @param reject The rejection for the rule. * @param errs The place to put errors. */ - public void rejectRule(String rule, String reject, ITree<String> errs) { + public void rejectRule(String rule, String reject, Tree<String> errs) { if (rule == null) { errs.addChild("ERROR: Rule must not be null"); @@ -633,7 +633,7 @@ public class RGrammarBuilder { * @param replace The replace string. */ public void findReplaceRule(String rule, String find, String replace) { - findReplaceRule(rule, find, replace, new Tree<>()); + findReplaceRule(rule, find, replace, new SimpleTree<>()); } /** @@ -644,7 +644,7 @@ public class RGrammarBuilder { * @param replace The replace string. * @param errs The place to put errors. */ - public void findReplaceRule(String rule, String find, String replace, ITree<String> errs) { + public void findReplaceRule(String rule, String find, String replace, Tree<String> errs) { if (rule == null) { errs.addChild("ERROR: Rule must not be null"); diff --git a/src/main/java/bjc/rgens/parser/RGrammarFormatter.java b/src/main/java/bjc/rgens/parser/RGrammarFormatter.java index 773e3a5..4c89281 100755 --- a/src/main/java/bjc/rgens/parser/RGrammarFormatter.java +++ b/src/main/java/bjc/rgens/parser/RGrammarFormatter.java @@ -5,8 +5,8 @@ import java.util.Map; import java.util.Set; import bjc.rgens.parser.elements.CaseElement; -import bjc.data.IPair; -import bjc.funcdata.IList; +import bjc.data.Pair; +import bjc.funcdata.ListEx; /** * @TODO Ben Culkin 9/8/18 :GrammarFormatter @@ -58,7 +58,7 @@ public class RGrammarFormatter { /* Format a rule. */ private static void processRule(Rule rule, StringBuilder sb) { - IList<IPair<Integer, RuleCase>> cases = rule.getCases(); + ListEx<Pair<Integer, RuleCase>> cases = rule.getCases(); StringBuilder ruleBuilder = new StringBuilder(); @@ -73,7 +73,7 @@ public class RGrammarFormatter { ruleBuilder = new StringBuilder(); - for (IPair<Integer, RuleCase> cse : cases.tail()) { + for (Pair<Integer, RuleCase> cse : cases.tail()) { sb.append("\n\t"); for (int i = 8; i < markerPos; i++) { diff --git a/src/main/java/bjc/rgens/parser/RGrammarParser.java b/src/main/java/bjc/rgens/parser/RGrammarParser.java index b25d036..785c434 100755 --- a/src/main/java/bjc/rgens/parser/RGrammarParser.java +++ b/src/main/java/bjc/rgens/parser/RGrammarParser.java @@ -10,8 +10,8 @@ import bjc.rgens.parser.elements.CaseElement; import bjc.rgens.parser.elements.ChanceCaseElement; import bjc.rgens.parser.elements.SerialCaseElement; import bjc.rgens.parser.elements.VariableDefCaseElement; -import bjc.data.ITree; import bjc.data.Tree; +import bjc.data.SimpleTree; import bjc.utils.funcutils.StringUtils; import bjc.utils.ioutils.blocks.Block; import bjc.utils.ioutils.blocks.BlockReader; @@ -45,7 +45,7 @@ public class RGrammarParser { private static final String TMPL_TOPLEVEL_BLOCK_DELIM = "\\R\\t{%d}\\.?\\R"; private static void doAffixWith(String body, RGrammarBuilder build, int level, - AffixType afxType, ITree<String> errs) { + AffixType afxType, Tree<String> errs) { int idx = body.indexOf(" "); if (idx == -1) { @@ -69,7 +69,7 @@ public class RGrammarParser { } private static void doAutoVar(List<String> bits, RGrammarBuilder build, int level, - boolean isRule, ITree<String> errs) { + boolean isRule, Tree<String> errs) { if (bits.size() < 1) { String msg = "Must specify name of variable and definition to autovivify"; @@ -130,7 +130,7 @@ public class RGrammarParser { * @throws GrammarException * Thrown if the grammar has a syntax error. */ - public static RGrammar readGrammar(Reader is, LoadOptions lopts, ITree<String> errs) + public static RGrammar readGrammar(Reader is, LoadOptions lopts, Tree<String> errs) throws GrammarException { String dlm = String.format(TMPL_TOPLEVEL_BLOCK_DELIM, 0); @@ -156,7 +156,7 @@ public class RGrammarParser { block.lineOffset + block.startLine, block.lineOffset + block.endLine); - ITree<String> kid = new Tree<>(msg); + Tree<String> kid = new SimpleTree<>(msg); handleBlock(build, block.contents, 0, block.startLine, lopts, kid); @@ -187,7 +187,7 @@ public class RGrammarParser { /* Handles an arbitrary block. */ private static void handleBlock(RGrammarBuilder build, String block, int level, - int lineOffset, LoadOptions lopts, ITree<String> errs) { + int lineOffset, LoadOptions lopts, Tree<String> errs) { /* Discard empty blocks. */ if (block.equals("") || block.matches("\\R")) return; @@ -232,7 +232,7 @@ public class RGrammarParser { /* Handle reading a block of pragmas. */ private static void handlePragmaBlock(String block, RGrammarBuilder build, int level, - int lineOffset, LoadOptions lopts, ITree<String> errs) { + int lineOffset, LoadOptions lopts, Tree<String> errs) { String dlm = String.format(TMPL_PRAGMA_BLOCK_DELIM, level); try (BlockReader pragmaReader @@ -281,7 +281,7 @@ public class RGrammarParser { /* Handle an individual pragma in a block. */ private static void handlePragma(String pragma, RGrammarBuilder build, int level, - int lineOffset, LoadOptions lopts, ITree<String> errs) { + int lineOffset, LoadOptions lopts, Tree<String> errs) { int bodySep = pragma.indexOf(' '); if (bodySep == -1) @@ -300,7 +300,7 @@ public class RGrammarParser { List<String> bits = StringUtils.levelSplit(pragmaBody, " "); String fmt = String.format("INFO: Pragma '%s'", pragmaName); - ITree<String> kid = new Tree<>(fmt); + Tree<String> kid = new SimpleTree<>(fmt); switch (pragmaName) { case "initial-rule": { @@ -523,12 +523,12 @@ public class RGrammarParser { /* Handle a block of a rule declaration and one or more cases. */ private static void handleRuleBlock(String ruleBlock, RGrammarBuilder build, - int level, int lineOffset, LoadOptions lopts, ITree<String> errs) { + int level, int lineOffset, LoadOptions lopts, Tree<String> errs) { String dlm = String.format(TMPL_RULEDECL_BLOCK_DELIM, level); try (BlockReader ruleReader = new SimpleBlockReader(dlm, new StringReader(ruleBlock))) { - ITree<String> kid = new Tree<>(); + Tree<String> kid = new SimpleTree<>(); if (ruleReader.hasNextBlock()) { /* Rule with a declaration followed by multiple cases. */ @@ -569,7 +569,7 @@ public class RGrammarParser { /* Handle a rule declaration and its initial case. */ private static Rule handleRuleDecl(RGrammarBuilder build, String declContents, - int lineOffset, ITree<String> errs) { + int lineOffset, Tree<String> errs) { int declSep = declContents.indexOf("\u2192"); if (declSep == -1) { @@ -615,7 +615,7 @@ public class RGrammarParser { /* Handle a single case of a rule. */ private static void handleRuleCase(String cse, RGrammarBuilder build, Rule rul, - int lineOffset, ITree<String> errs) { + int lineOffset, Tree<String> errs) { List<CaseElement> elms = new ArrayList<>(); int weights = parseElementString(cse, elms, errs); @@ -625,7 +625,7 @@ public class RGrammarParser { /* Handle a where block (a block with local rules). */ private static void handleWhereBlock(String block, RGrammarBuilder build, int level, - int lineOffset, LoadOptions lopts, ITree<String> errs) { + int lineOffset, LoadOptions lopts, Tree<String> errs) { int nlIndex = block.indexOf("\\nin"); if (nlIndex == -1) { @@ -678,7 +678,7 @@ public class RGrammarParser { * @return The weight of the resulting case. */ public static int parseElementString(String cses, List<CaseElement> elms) { - return parseElementString(cses, elms, new Tree<>()); + return parseElementString(cses, elms, new SimpleTree<>()); } /** @@ -694,7 +694,7 @@ public class RGrammarParser { * @return The weight of the resulting case. */ public static int parseElementString(String cses, List<CaseElement> elms, - ITree<String> errs) { + Tree<String> errs) { /* * @NOTE * @@ -721,7 +721,7 @@ public class RGrammarParser { * @return The weight of the resulting case. */ public static int parseElementString(String[] cses, List<CaseElement> elms) { - return parseElementString(cses, elms, new Tree<>()); + return parseElementString(cses, elms, new SimpleTree<>()); } /** @@ -737,7 +737,7 @@ public class RGrammarParser { * @return The weight of the resulting case. */ public static int parseElementString(String[] cses, List<CaseElement> caseParts, - ITree<String> errs) { + Tree<String> errs) { int weight = 1; int repCount = 1; diff --git a/src/main/java/bjc/rgens/parser/RGrammarTest.java b/src/main/java/bjc/rgens/parser/RGrammarTest.java index 4ff3ceb..605fc5b 100755 --- a/src/main/java/bjc/rgens/parser/RGrammarTest.java +++ b/src/main/java/bjc/rgens/parser/RGrammarTest.java @@ -3,8 +3,8 @@ package bjc.rgens.parser; import static bjc.rgens.parser.RGrammarLogging.error; import static bjc.rgens.parser.RGrammarLogging.perf; -import bjc.data.ITree; import bjc.data.Tree; +import bjc.data.SimpleTree; import java.io.IOException; @@ -47,7 +47,7 @@ public class RGrammarTest { Path cfgPath = Paths.get(rsc.toURI()); String msg = String.format("INFO: Loading config file %s", cfgPath); - ITree<String> errTree = new Tree<>(msg); + Tree<String> errTree = new SimpleTree<>(msg); ConfigSet cfgSet = ConfigLoader.fromConfigFile(cfgPath, lopts, errTree); diff --git a/src/main/java/bjc/rgens/parser/Rule.java b/src/main/java/bjc/rgens/parser/Rule.java index 3ade828..78da82d 100755 --- a/src/main/java/bjc/rgens/parser/Rule.java +++ b/src/main/java/bjc/rgens/parser/Rule.java @@ -1,12 +1,12 @@ package bjc.rgens.parser; import static bjc.rgens.parser.RGrammarLogging.fine; -import static bjc.data.IPair.pair; +import static bjc.data.Pair.pair; -import bjc.data.IPair; -import bjc.data.ITree; +import bjc.data.Pair; import bjc.data.Tree; -import bjc.funcdata.IList; +import bjc.data.SimpleTree; +import bjc.funcdata.ListEx; import bjc.utils.gen.WeightedRandom; import java.util.ArrayList; @@ -86,7 +86,7 @@ public class Rule { public int trials; private List<String> rejectionPreds; - private List<IPair<String, String>> findReplaces; + private List<Pair<String, String>> findReplaces; // @TODO This default should be configurable in some way /** @@ -165,7 +165,7 @@ public class Rule { * @param reject The rejection pattern. */ public void addRejection(String reject) { - addRejection(reject, new Tree<>()); + addRejection(reject, new SimpleTree<>()); } /** @@ -174,7 +174,7 @@ public class Rule { * @param reject The rejection pattern. * @param errs The place to put errors. */ - public void addRejection(String reject, ITree<String> errs) { + public void addRejection(String reject, Tree<String> errs) { try { Pattern.compile(reject); } catch (PatternSyntaxException psex) { @@ -191,7 +191,7 @@ public class Rule { * @param replace The replace string. */ public void addFindReplace(String find, String replace) { - addFindReplace(find, replace, new Tree<>()); + addFindReplace(find, replace, new SimpleTree<>()); } /** @@ -201,7 +201,7 @@ public class Rule { * @param replace The replace string. * @param errs The place to put errors. */ - public void addFindReplace(String find, String replace, ITree<String> errs) { + public void addFindReplace(String find, String replace, Tree<String> errs) { try { Pattern.compile(find); } catch (PatternSyntaxException psex) { @@ -253,7 +253,7 @@ public class Rule { * @return * All the cases in this rule. */ - public IList<IPair<Integer, RuleCase>> getCases() { + public ListEx<Pair<Integer, RuleCase>> getCases() { return cases.getValues(); } @@ -263,10 +263,10 @@ public class Rule { * @param caseList * The new list of cases. */ - public void replaceCases(IList<IPair<Integer, RuleCase>> caseList) { + public void replaceCases(ListEx<Pair<Integer, RuleCase>> caseList) { this.cases = new WeightedRandom<>(); - for(IPair<Integer, RuleCase> cse : caseList) { + for(Pair<Integer, RuleCase> cse : caseList) { RuleCase cs = cse.getRight(); cs.belongsTo = this; cs.debugName = String.format("%s-%d", name, ++caseCount); @@ -399,7 +399,7 @@ public class Rule { conts = conts.replaceAll("\\s+", ""); } - for(IPair<String, String> findRep : findReplaces) { + for(Pair<String, String> findRep : findReplaces) { conts = conts.replaceAll(findRep.getLeft(), findRep.getRight()); } state.setContents(conts); diff --git a/src/main/java/bjc/rgens/parser/elements/InlineRuleCaseElement.java b/src/main/java/bjc/rgens/parser/elements/InlineRuleCaseElement.java index 6f3d889..eda2224 100644 --- a/src/main/java/bjc/rgens/parser/elements/InlineRuleCaseElement.java +++ b/src/main/java/bjc/rgens/parser/elements/InlineRuleCaseElement.java @@ -4,8 +4,8 @@ import bjc.rgens.parser.GenerationState; import bjc.rgens.parser.RGrammarParser; -import bjc.data.ITree; import bjc.data.Tree; +import bjc.data.SimpleTree; import bjc.utils.gen.WeightedRandom; import bjc.utils.ioutils.LevelSplitter; @@ -31,7 +31,7 @@ public class InlineRuleCaseElement extends CaseElement { * @param parts The parts of this case element. */ public InlineRuleCaseElement(String... parts) { - this(new Tree<>(), parts); + this(new SimpleTree<>(), parts); } /** @@ -40,7 +40,7 @@ public class InlineRuleCaseElement extends CaseElement { * @param errs The place to store errors in. * @param parts The parts of this case element. */ - public InlineRuleCaseElement(ITree<String> errs, String... parts) { + public InlineRuleCaseElement(Tree<String> errs, String... parts) { super(true); this.elements = new WeightedRandom<>(); diff --git a/src/main/java/bjc/rgens/parser/templates/GrammarTemplate.java b/src/main/java/bjc/rgens/parser/templates/GrammarTemplate.java index 45833f2..6303fa6 100644 --- a/src/main/java/bjc/rgens/parser/templates/GrammarTemplate.java +++ b/src/main/java/bjc/rgens/parser/templates/GrammarTemplate.java @@ -3,8 +3,8 @@ package bjc.rgens.parser.templates; import bjc.rgens.parser.ConfigSet; import bjc.rgens.parser.GenerationState; -import bjc.data.ITree; import bjc.data.Tree; +import bjc.data.SimpleTree; import java.io.Reader; import java.util.ArrayList; @@ -72,7 +72,7 @@ public class GrammarTemplate { * * @return The generated template. */ - public static GrammarTemplate readTemplate(Reader rdr, ITree<String> errs) { + public static GrammarTemplate readTemplate(Reader rdr, Tree<String> errs) { List<TemplateElement> elements = new ArrayList<>(); GrammarTemplate template = new GrammarTemplate(elements); @@ -84,7 +84,7 @@ public class GrammarTemplate { String ln = scn.nextLine(); lno += 1; - ITree<String> kid = new Tree<>(String.format("INFO: Line %d", lno)); + Tree<String> kid = new SimpleTree<>(String.format("INFO: Line %d", lno)); switch(ln.charAt(0)) { case '#': // Ignore comments @@ -106,7 +106,7 @@ public class GrammarTemplate { return template; } - private static void handleLine(List<TemplateElement> elements, GrammarTemplate template, String ln, ITree<String> errs) { + private static void handleLine(List<TemplateElement> elements, GrammarTemplate template, String ln, Tree<String> errs) { if(ln.matches("^.*?\\$@.+?@\\$.*$")) { /* * Handle live templates @@ -117,7 +117,7 @@ public class GrammarTemplate { } } - private static void handlePragma(List<TemplateElement> elements, GrammarTemplate template, String ln, ITree<String> errs) { + private static void handlePragma(List<TemplateElement> elements, GrammarTemplate template, String ln, Tree<String> errs) { /* * @TODO 2/8/2019 Ben Culkin :TemplatePragmas * Implement template pragmas. diff --git a/src/main/java/bjc/rgens/parser/templates/LiteralTemplateElement.java b/src/main/java/bjc/rgens/parser/templates/LiteralTemplateElement.java index 6bd8b9f..0d0f611 100644 --- a/src/main/java/bjc/rgens/parser/templates/LiteralTemplateElement.java +++ b/src/main/java/bjc/rgens/parser/templates/LiteralTemplateElement.java @@ -1,6 +1,6 @@ package bjc.rgens.parser.templates; -import bjc.data.ITree; +import bjc.data.Tree; import bjc.rgens.parser.GenerationState; @@ -24,7 +24,7 @@ public class LiteralTemplateElement extends TemplateElement { * @param errs * The place to put errors. */ - public LiteralTemplateElement(String val, ITree<String> errs) { + public LiteralTemplateElement(String val, Tree<String> errs) { super(true); this.val = val; diff --git a/src/main/java/bjc/rgens/parser/templates/LiveTemplateElement.java b/src/main/java/bjc/rgens/parser/templates/LiveTemplateElement.java index 653ae76..8b9806b 100644 --- a/src/main/java/bjc/rgens/parser/templates/LiveTemplateElement.java +++ b/src/main/java/bjc/rgens/parser/templates/LiveTemplateElement.java @@ -7,7 +7,7 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; import bjc.data.BooleanToggle; -import bjc.data.ITree; +import bjc.data.Tree; import bjc.rgens.parser.GenerationState; import bjc.rgens.parser.RGrammarParser; @@ -37,7 +37,7 @@ public class LiveTemplateElement extends TemplateElement { * @param errs * A tree to add errors & information to. */ - public LiveTemplateElement(String val, ITree<String> errs) { + public LiveTemplateElement(String val, Tree<String> errs) { super(true); elements = new ArrayList<>(); |
