summaryrefslogtreecommitdiff
path: root/BJC-Utils2/src/main/java/bjc/utils/gen/WeightedGrammar.java
diff options
context:
space:
mode:
authorbculkin2442 <bjculkin@mix.wvu.edu>2017-02-08 14:35:26 -0500
committerbculkin2442 <bjculkin@mix.wvu.edu>2017-02-08 14:35:26 -0500
commit187e1815488e3c1ed22e7592f304e632cffefb82 (patch)
tree9f3776dbc738aaad3d760e083ccb1e389aab6373 /BJC-Utils2/src/main/java/bjc/utils/gen/WeightedGrammar.java
parentb21b401596f5c060402074b183ccc311281518d8 (diff)
Update
Diffstat (limited to 'BJC-Utils2/src/main/java/bjc/utils/gen/WeightedGrammar.java')
-rw-r--r--BJC-Utils2/src/main/java/bjc/utils/gen/WeightedGrammar.java13
1 files changed, 11 insertions, 2 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
*