From 187e1815488e3c1ed22e7592f304e632cffefb82 Mon Sep 17 00:00:00 2001 From: bculkin2442 Date: Wed, 8 Feb 2017 14:35:26 -0500 Subject: Update --- BJC-Utils2/src/main/java/bjc/utils/gen/WeightedGrammar.java | 13 +++++++++++-- BJC-Utils2/src/main/java/bjc/utils/gen/WeightedRandom.java | 2 -- 2 files changed, 11 insertions(+), 4 deletions(-) (limited to 'BJC-Utils2/src/main/java') 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 { IList returnedList = new FunctionalList<>(); - IList genRules = new FunctionalList(initRules); + IList genRules = new FunctionalList<>(initRules); if(specialMarker != null) { if(specialMarker.test(initRules)) { @@ -390,7 +390,12 @@ public class WeightedGrammar { * @return The set of all rule names in this grammar */ public IList getRuleNames() { - return rules.keyList(); + IList ruleNames = new FunctionalList<>(); + + ruleNames.addAll(rules.keyList()); + ruleNames.addAll(specialRules.keyList()); + + return ruleNames; } /** @@ -417,6 +422,10 @@ public class WeightedGrammar { 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 { * @return A random value selected in a weighted fashion. */ public E generateValue() { - System.out.println("Total chance is " + totalChance); - IHolder randomValue = new Identity<>( source.nextInt(totalChance)); IHolder currentResult = new Identity<>(); -- cgit v1.2.3