summaryrefslogtreecommitdiff
path: root/BJC-Utils2/src/main/java/bjc/utils/gen/RandomGrammar.java
diff options
context:
space:
mode:
Diffstat (limited to 'BJC-Utils2/src/main/java/bjc/utils/gen/RandomGrammar.java')
-rw-r--r--BJC-Utils2/src/main/java/bjc/utils/gen/RandomGrammar.java18
1 files changed, 9 insertions, 9 deletions
diff --git a/BJC-Utils2/src/main/java/bjc/utils/gen/RandomGrammar.java b/BJC-Utils2/src/main/java/bjc/utils/gen/RandomGrammar.java
index 4f194f3..349d9fa 100644
--- a/BJC-Utils2/src/main/java/bjc/utils/gen/RandomGrammar.java
+++ b/BJC-Utils2/src/main/java/bjc/utils/gen/RandomGrammar.java
@@ -1,8 +1,7 @@
package bjc.utils.gen;
-import java.util.HashMap;
-
-import bjc.utils.funcdata.FunctionalList;
+import bjc.utils.funcdata.FunctionalMap;
+import bjc.utils.funcdata.IFunctionalList;
/**
* A weighted grammar where all the rules have a equal chance of occuring.
@@ -18,7 +17,7 @@ public class RandomGrammar<E> extends WeightedGrammar<E> {
* Create a new random grammar.
*/
public RandomGrammar() {
- rules = new HashMap<>();
+ rules = new FunctionalMap<>();
}
/**
@@ -30,8 +29,8 @@ public class RandomGrammar<E> extends WeightedGrammar<E> {
* The cases to add for this rule.
*/
@SafeVarargs
- public final void addCases(E rule, FunctionalList<E>... cases) {
- for (FunctionalList<E> currentCase : cases) {
+ public final void addCases(E rule, IFunctionalList<E>... cases) {
+ for (IFunctionalList<E> currentCase : cases) {
super.addCase(rule, 1, currentCase);
}
}
@@ -45,10 +44,10 @@ public class RandomGrammar<E> extends WeightedGrammar<E> {
* The cases to add for this rule.
*/
@SafeVarargs
- public final void makeRule(E rule, FunctionalList<E>... cases) {
+ public final void makeRule(E rule, IFunctionalList<E>... cases) {
super.addRule(rule);
- for (FunctionalList<E> currentCase : cases) {
+ for (IFunctionalList<E> currentCase : cases) {
super.addCase(rule, 1, currentCase);
}
}
@@ -61,7 +60,8 @@ public class RandomGrammar<E> extends WeightedGrammar<E> {
* @param cases
* The cases to add for this rule.
*/
- public void makeRule(E rule, FunctionalList<FunctionalList<E>> cases) {
+ public void makeRule(E rule,
+ IFunctionalList<IFunctionalList<E>> cases) {
if (cases == null) {
throw new NullPointerException("Cases must not be null");
}