diff options
| author | bculkin2442 <bjculkin@mix.wvu.edu> | 2018-10-28 12:23:48 -0400 |
|---|---|---|
| committer | bculkin2442 <bjculkin@mix.wvu.edu> | 2018-10-28 12:23:48 -0400 |
| commit | dea2135cf074c9531ae37f519a73567378945920 (patch) | |
| tree | 00bb5368284c900db2ae184ae2835602b7eb166c /src/main/java/bjc/rgens/parser/elements | |
| parent | a30e080781d5f536d09aa2127a06ffb17fc1cdc0 (diff) | |
General cleanup
Diffstat (limited to 'src/main/java/bjc/rgens/parser/elements')
10 files changed, 23 insertions, 43 deletions
diff --git a/src/main/java/bjc/rgens/parser/elements/BlankCaseElement.java b/src/main/java/bjc/rgens/parser/elements/BlankCaseElement.java index 66ff310..7229e92 100755 --- a/src/main/java/bjc/rgens/parser/elements/BlankCaseElement.java +++ b/src/main/java/bjc/rgens/parser/elements/BlankCaseElement.java @@ -1,7 +1,5 @@ package bjc.rgens.parser.elements; -import bjc.rgens.parser.GenerationState; - public class BlankCaseElement extends LiteralCaseElement { public BlankCaseElement() { super(""); diff --git a/src/main/java/bjc/rgens/parser/elements/CaseElement.java b/src/main/java/bjc/rgens/parser/elements/CaseElement.java index fa398e7..9c23ef2 100755 --- a/src/main/java/bjc/rgens/parser/elements/CaseElement.java +++ b/src/main/java/bjc/rgens/parser/elements/CaseElement.java @@ -1,7 +1,6 @@ package bjc.rgens.parser.elements; -import bjc.utils.funcutils.StringUtils; - +import bjc.utils.ioutils.LevelSplitter; import bjc.rgens.parser.GenerationState; import bjc.rgens.parser.GrammarException; @@ -85,7 +84,7 @@ public abstract class CaseElement { String specialBody = csepart.substring(1, csepart.length() - 1); if (specialBody.matches("\\S+:\\S=\\S+")) { - String[] parts = StringUtils.levelSplit(specialBody, "=").toArray(new String[0]); + String[] parts = LevelSplitter.def.levelSplit(specialBody, "=").toArray(new String[0]); if(parts.length != 2) { throw new GrammarException("Colon variables must have a name and a definition"); @@ -102,7 +101,7 @@ public abstract class CaseElement { return VariableDefCaseElement.parseVariable(varName, parts[1], op, true); } else if (specialBody.matches("\\S+:=\\S+")) { - String[] parts = StringUtils.levelSplit(specialBody, "=").toArray(new String[0]); + String[] parts = LevelSplitter.def.levelSplit(specialBody, "=").toArray(new String[0]); if(parts.length != 2) { throw new GrammarException("Colon variables must have a name and a definition"); @@ -114,7 +113,7 @@ public abstract class CaseElement { return VariableDefCaseElement.parseVariable(varName, parts[1], ' ', true); } else if (specialBody.matches("\\S+=\\S+")) { - String[] parts = StringUtils.levelSplit(specialBody, "=").toArray(new String[0]); + String[] parts = LevelSplitter.def.levelSplit(specialBody, "=").toArray(new String[0]); if(parts.length != 2) { throw new GrammarException("Variables must have a name and a definition"); } @@ -136,16 +135,16 @@ public abstract class CaseElement { return new RangeCaseElement(firstNum, secondNum); } else if(rawCase.contains("||")) { - String[] elms = StringUtils.levelSplit(rawCase, "||").toArray(new String[0]); + String[] elms = LevelSplitter.def.levelSplit(rawCase, "||").toArray(new String[0]); return new InlineRuleCaseElement(elms); } else if(rawCase.contains("|")) { throw new GrammarException("Inline rule using | found, they use || now"); - // String[] elms = StringUtils.levelSplit(rawCase, "|").toArray(new String[0]); + // String[] elms = LevelSplitter.def.levelSplit(rawCase, "|").toArray(new String[0]); // return new InlineRuleCaseElement(elms); - } else if (StringUtils.levelContains(rawCase, ".")) { - String[] parts = StringUtils.levelSplit(rawCase, ".").toArray(new String[0]); + } else if (LevelSplitter.def.levelContains(rawCase, ".")) { + String[] parts = LevelSplitter.def.levelSplit(rawCase, ".").toArray(new String[0]); CaseElement base = createElement(parts[0]); diff --git a/src/main/java/bjc/rgens/parser/elements/ExpVariableCaseElement.java b/src/main/java/bjc/rgens/parser/elements/ExpVariableCaseElement.java index c221f4a..03eebe3 100755 --- a/src/main/java/bjc/rgens/parser/elements/ExpVariableCaseElement.java +++ b/src/main/java/bjc/rgens/parser/elements/ExpVariableCaseElement.java @@ -1,13 +1,9 @@ package bjc.rgens.parser.elements; -import bjc.utils.data.IPair; - import bjc.rgens.parser.GenerationState; import bjc.rgens.parser.GrammarException; -import bjc.rgens.parser.RecurLimitException; import bjc.rgens.parser.RGrammar; import bjc.rgens.parser.Rule; -import bjc.rgens.parser.RuleCase; public class ExpVariableCaseElement extends VariableDefCaseElement { public ExpVariableCaseElement(String name, String def) { diff --git a/src/main/java/bjc/rgens/parser/elements/InlineRuleCaseElement.java b/src/main/java/bjc/rgens/parser/elements/InlineRuleCaseElement.java index 917dd33..82bc6ee 100644 --- a/src/main/java/bjc/rgens/parser/elements/InlineRuleCaseElement.java +++ b/src/main/java/bjc/rgens/parser/elements/InlineRuleCaseElement.java @@ -2,12 +2,10 @@ package bjc.rgens.parser.elements; import bjc.rgens.parser.GenerationState; import bjc.rgens.parser.RGrammarParser; - import bjc.utils.data.IPair; -import bjc.utils.funcdata.FunctionalList; import bjc.utils.funcdata.IList; -import bjc.utils.funcutils.StringUtils; import bjc.utils.gen.WeightedRandom; +import bjc.utils.ioutils.LevelSplitter; public class InlineRuleCaseElement extends CaseElement { public final WeightedRandom<CaseElement> elements; @@ -20,8 +18,8 @@ public class InlineRuleCaseElement extends CaseElement { for(String part : parts) { String[] partArr; - if(StringUtils.levelContains(part, "|")) { - partArr = StringUtils.levelSplit(part, "||").toArray(new String[0]); + if(LevelSplitter.def.levelContains(part, "|")) { + partArr = LevelSplitter.def.levelSplit(part, "||").toArray(new String[0]); } else { partArr = new String[] {part}; } diff --git a/src/main/java/bjc/rgens/parser/elements/MethodCaseElement.java b/src/main/java/bjc/rgens/parser/elements/MethodCaseElement.java index 13f58e9..342d407 100644 --- a/src/main/java/bjc/rgens/parser/elements/MethodCaseElement.java +++ b/src/main/java/bjc/rgens/parser/elements/MethodCaseElement.java @@ -1,7 +1,6 @@ package bjc.rgens.parser.elements; import bjc.rgens.parser.GenerationState; -import bjc.rgens.parser.GrammarException; import bjc.rgens.parser.elements.CaseElement; import bjc.rgens.parser.elements.methods.MethodElement; diff --git a/src/main/java/bjc/rgens/parser/elements/RuleCaseElement.java b/src/main/java/bjc/rgens/parser/elements/RuleCaseElement.java index e42647c..1a2cf85 100755 --- a/src/main/java/bjc/rgens/parser/elements/RuleCaseElement.java +++ b/src/main/java/bjc/rgens/parser/elements/RuleCaseElement.java @@ -1,15 +1,12 @@ package bjc.rgens.parser.elements; -import bjc.utils.data.IPair; -import bjc.utils.data.Pair; - -import bjc.rgens.parser.*; -import bjc.rgens.parser.elements.vars.*; - -import java.util.ArrayList; import java.util.List; -import java.util.regex.Matcher; -import java.util.regex.Pattern; + +import bjc.rgens.parser.GenerationState; +import bjc.rgens.parser.GrammarException; +import bjc.rgens.parser.RGrammar; +import bjc.rgens.parser.Rule; +import bjc.rgens.parser.elements.vars.VariableElement; public class RuleCaseElement extends CaseElement { public List<VariableElement> elements; @@ -46,11 +43,13 @@ public class RuleCaseElement extends CaseElement { } } - protected void doGenerate(String actName, GenerationState state) { + protected void doGenerate(String acName, GenerationState state) { GenerationState newState = state.newBuf(); Rule rl; + String actName = acName; + if (actName.startsWith("[^")) { actName = "[" + actName.substring(2); diff --git a/src/main/java/bjc/rgens/parser/elements/RuleVariableCaseElement.java b/src/main/java/bjc/rgens/parser/elements/RuleVariableCaseElement.java index a7fdbec..d344162 100644 --- a/src/main/java/bjc/rgens/parser/elements/RuleVariableCaseElement.java +++ b/src/main/java/bjc/rgens/parser/elements/RuleVariableCaseElement.java @@ -1,13 +1,8 @@ package bjc.rgens.parser.elements; -import bjc.utils.data.IPair; -import bjc.utils.data.Pair; - import bjc.rgens.parser.GrammarException; import bjc.rgens.parser.GenerationState; import bjc.rgens.parser.Rule; -import bjc.rgens.parser.RGrammar; - import static bjc.rgens.parser.RGrammarLogging.*; public class RuleVariableCaseElement extends VariableDefCaseElement { diff --git a/src/main/java/bjc/rgens/parser/elements/vars/ARefVariableElement.java b/src/main/java/bjc/rgens/parser/elements/vars/ARefVariableElement.java index 17db660..5df0f46 100644 --- a/src/main/java/bjc/rgens/parser/elements/vars/ARefVariableElement.java +++ b/src/main/java/bjc/rgens/parser/elements/vars/ARefVariableElement.java @@ -1,7 +1,6 @@ package bjc.rgens.parser.elements.vars; import bjc.rgens.parser.GenerationState; -import bjc.rgens.parser.GrammarException; import bjc.rgens.parser.Rule; public class ARefVariableElement extends VariableElement { diff --git a/src/main/java/bjc/rgens/parser/elements/vars/TRefVariableElement.java b/src/main/java/bjc/rgens/parser/elements/vars/TRefVariableElement.java index a33d78c..c753dfe 100644 --- a/src/main/java/bjc/rgens/parser/elements/vars/TRefVariableElement.java +++ b/src/main/java/bjc/rgens/parser/elements/vars/TRefVariableElement.java @@ -1,8 +1,6 @@ package bjc.rgens.parser.elements.vars; import bjc.rgens.parser.GenerationState; -import bjc.rgens.parser.GrammarException; -import bjc.rgens.parser.templates.GrammarTemplate; /* * @TODO diff --git a/src/main/java/bjc/rgens/parser/elements/vars/VariableElement.java b/src/main/java/bjc/rgens/parser/elements/vars/VariableElement.java index 2193b3c..916ac3d 100644 --- a/src/main/java/bjc/rgens/parser/elements/vars/VariableElement.java +++ b/src/main/java/bjc/rgens/parser/elements/vars/VariableElement.java @@ -1,7 +1,6 @@ package bjc.rgens.parser.elements.vars; -import bjc.utils.funcutils.StringUtils; - +import bjc.utils.ioutils.LevelSplitter; import bjc.rgens.parser.GenerationState; import bjc.rgens.parser.GrammarException; @@ -18,12 +17,12 @@ public abstract class VariableElement { public abstract void generate(GenerationState state); public static List<VariableElement> parseElementString(String varElm) { - boolean forbidSpaces = StringUtils.levelContains(varElm, "-", "+"); + boolean forbidSpaces = LevelSplitter.def.levelContains(varElm, "-", "+"); String[] parts; if(forbidSpaces) { - parts = StringUtils.levelSplit(varElm, true, "-", "+").toArray(new String[0]); + parts = LevelSplitter.def.levelSplit(varElm, true, "-", "+").toArray(new String[0]); } else { parts = new String[] { varElm }; } |
