diff options
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.java | 34 |
1 files changed, 22 insertions, 12 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 0245b17..339b3f4 100644 --- a/BJC-Utils2/src/main/java/bjc/utils/gen/RandomGrammar.java +++ b/BJC-Utils2/src/main/java/bjc/utils/gen/RandomGrammar.java @@ -6,9 +6,11 @@ import bjc.utils.funcdata.FunctionalList; /** * A weighted grammar where all the rules have a equal chance of occuring. + * * @author ben * - * @param <E> The type of grammar elements to use. + * @param <E> + * The type of grammar elements to use. */ public class RandomGrammar<E> extends WeightedGrammar<E> { @@ -21,11 +23,14 @@ public class RandomGrammar<E> extends WeightedGrammar<E> { /** * Add cases to a specified rule. - * @param rule The name of the rule to add cases to. - * @param cases The cases to add for this rule. + * + * @param rule + * The name of the rule to add cases to. + * @param cases + * The cases to add for this rule. */ @SafeVarargs - public final void addCases(E rule, FunctionalList<E>... cases) { + public final void addCases(E rule, FunctionalList<E>... cases) { for (FunctionalList<E> cse : cases) { super.addCase(rule, 1, cse); } @@ -33,13 +38,16 @@ public class RandomGrammar<E> extends WeightedGrammar<E> { /** * Create a rule with the specified name and cases. - * @param rule The name of the rule to add. - * @param cases The cases to add for this rule. + * + * @param rule + * The name of the rule to add. + * @param cases + * The cases to add for this rule. */ @SafeVarargs public final void makeRule(E rule, FunctionalList<E>... cases) { super.addRule(rule); - + for (FunctionalList<E> cse : cases) { super.addCase(rule, 1, cse); } @@ -47,13 +55,15 @@ public class RandomGrammar<E> extends WeightedGrammar<E> { /** * Create a rule with the specified name and cases. - * @param rule The name of the rule to add. - * @param cases The cases to add for this rule. + * + * @param rule + * The name of the rule to add. + * @param cases + * The cases to add for this rule. */ - public void makeRule(E rule, - FunctionalList<FunctionalList<E>> cases) { + public void makeRule(E rule, FunctionalList<FunctionalList<E>> cases) { super.addRule(rule); - + cases.forEach(cse -> super.addCase(rule, 1, cse)); } } |
