diff options
| author | bculkin2442 <bjculkin@mix.wvu.edu> | 2017-02-08 14:35:26 -0500 |
|---|---|---|
| committer | bculkin2442 <bjculkin@mix.wvu.edu> | 2017-02-08 14:35:26 -0500 |
| commit | 187e1815488e3c1ed22e7592f304e632cffefb82 (patch) | |
| tree | 9f3776dbc738aaad3d760e083ccb1e389aab6373 /BJC-Utils2/src/main/java/bjc/utils/gen | |
| parent | b21b401596f5c060402074b183ccc311281518d8 (diff) | |
Update
Diffstat (limited to 'BJC-Utils2/src/main/java/bjc/utils/gen')
| -rw-r--r-- | BJC-Utils2/src/main/java/bjc/utils/gen/WeightedGrammar.java | 13 | ||||
| -rw-r--r-- | BJC-Utils2/src/main/java/bjc/utils/gen/WeightedRandom.java | 2 |
2 files changed, 11 insertions, 4 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 63b9ca6..2a13be7 100644 --- a/BJC-Utils2/src/main/java/bjc/utils/gen/WeightedGrammar.java +++ b/BJC-Utils2/src/main/java/bjc/utils/gen/WeightedGrammar.java @@ -295,7 +295,7 @@ public class WeightedGrammar<E> { IList<T> returnedList = new FunctionalList<>(); - IList<E> genRules = new FunctionalList(initRules); + IList<E> genRules = new FunctionalList<>(initRules); if(specialMarker != null) { if(specialMarker.test(initRules)) { @@ -390,7 +390,12 @@ public class WeightedGrammar<E> { * @return The set of all rule names in this grammar */ public IList<E> getRuleNames() { - return rules.keyList(); + IList<E> ruleNames = new FunctionalList<>(); + + ruleNames.addAll(rules.keyList()); + ruleNames.addAll(specialRules.keyList()); + + return ruleNames; } /** @@ -417,6 +422,10 @@ public class WeightedGrammar<E> { return initialRule != null && !initialRule.equalsIgnoreCase(""); } + public boolean hasRule(E ruleName) { + return rules.containsKey(ruleName) || specialRules.containsKey(ruleName); + } + /** * Prefix a given rule with a token multiple times * diff --git a/BJC-Utils2/src/main/java/bjc/utils/gen/WeightedRandom.java b/BJC-Utils2/src/main/java/bjc/utils/gen/WeightedRandom.java index b73b205..4819ca2 100644 --- a/BJC-Utils2/src/main/java/bjc/utils/gen/WeightedRandom.java +++ b/BJC-Utils2/src/main/java/bjc/utils/gen/WeightedRandom.java @@ -75,8 +75,6 @@ public class WeightedRandom<E> { * @return A random value selected in a weighted fashion. */ public E generateValue() { - System.out.println("Total chance is " + totalChance); - IHolder<Integer> randomValue = new Identity<>( source.nextInt(totalChance)); IHolder<E> currentResult = new Identity<>(); |
