summaryrefslogtreecommitdiff
path: root/src/main/java/bjc/rgens/parser/elements/InlineRuleCaseElement.java
diff options
context:
space:
mode:
authorbculkin2442 <bjculkin@mix.wvu.edu>2019-07-21 15:52:00 -0400
committerbculkin2442 <bjculkin@mix.wvu.edu>2019-07-21 15:52:00 -0400
commit6b810efa8765047a669be0e9ff6501ddda5c49a9 (patch)
tree0e65344afe3a58efdc662a22867bc8ab2948f3e6 /src/main/java/bjc/rgens/parser/elements/InlineRuleCaseElement.java
parentdd4bdab11c715fa2dcc438f287806b50f8467fd3 (diff)
parenta4d1507727e9aeeea0982ebbda785a961902d46c (diff)
Merge cleanups
Diffstat (limited to 'src/main/java/bjc/rgens/parser/elements/InlineRuleCaseElement.java')
-rw-r--r--src/main/java/bjc/rgens/parser/elements/InlineRuleCaseElement.java21
1 files changed, 18 insertions, 3 deletions
diff --git a/src/main/java/bjc/rgens/parser/elements/InlineRuleCaseElement.java b/src/main/java/bjc/rgens/parser/elements/InlineRuleCaseElement.java
index 82bc6ee..9385ded 100644
--- a/src/main/java/bjc/rgens/parser/elements/InlineRuleCaseElement.java
+++ b/src/main/java/bjc/rgens/parser/elements/InlineRuleCaseElement.java
@@ -2,15 +2,30 @@ package bjc.rgens.parser.elements;
import bjc.rgens.parser.GenerationState;
import bjc.rgens.parser.RGrammarParser;
+
import bjc.utils.data.IPair;
import bjc.utils.funcdata.IList;
+
+
+import bjc.utils.data.ITree;
+import bjc.utils.data.Tree;
+import bjc.utils.funcdata.FunctionalList;
+import bjc.utils.funcutils.StringUtils;
+
import bjc.utils.gen.WeightedRandom;
import bjc.utils.ioutils.LevelSplitter;
+import java.util.ArrayList;
+import java.util.List;
+
public class InlineRuleCaseElement extends CaseElement {
public final WeightedRandom<CaseElement> elements;
public InlineRuleCaseElement(String... parts) {
+ this(new Tree<>(), parts);
+ }
+
+ public InlineRuleCaseElement(ITree<String> errs, String... parts) {
super(true);
this.elements = new WeightedRandom<>();
@@ -24,10 +39,10 @@ public class InlineRuleCaseElement extends CaseElement {
partArr = new String[] {part};
}
- IPair<IList<CaseElement>, Integer> par = RGrammarParser.parseElementString(partArr);
- int prob = par.getRight();
+ List<CaseElement> elms = new ArrayList<>();
+ int prob = RGrammarParser.parseElementString(partArr, elms, errs);
- for(CaseElement elm : par.getLeft()) {
+ for(CaseElement elm : elms) {
elements.addProbability(prob, elm);
}
}