From 01cb9f504c860bc1c037a44f3a76bf342a293d46 Mon Sep 17 00:00:00 2001 From: bculkin2442 Date: Tue, 22 Mar 2016 12:28:35 -0400 Subject: General formatting cleanup and documentation update --- .../main/java/bjc/utils/gen/WeightedGrammar.java | 52 ++++++++++++++-------- .../main/java/bjc/utils/gen/WeightedRandom.java | 2 +- 2 files changed, 34 insertions(+), 20 deletions(-) (limited to 'BJC-Utils2/src/main/java/bjc/utils/gen') 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 623c212..463ad8b 100644 --- a/BJC-Utils2/src/main/java/bjc/utils/gen/WeightedGrammar.java +++ b/BJC-Utils2/src/main/java/bjc/utils/gen/WeightedGrammar.java @@ -50,6 +50,9 @@ public class WeightedGrammar { /** * Create a new weighted grammar that uses the specified source of * randomness. + * + * @param src + * The source of randomness to use */ public WeightedGrammar(Random src) { this(); @@ -166,7 +169,10 @@ public class WeightedGrammar { /** * Generate a generic sentance from a initial rule. * - * @param initRule + * @param + * The type of the transformed output + * + * @param initRle * The initial rule to start with. * @param f * The function to transform grammar output into something. @@ -175,24 +181,24 @@ public class WeightedGrammar { * @return A randomly generated sentance from the specified initial * rule. */ - public FunctionalList genGeneric(E initRule, Function f, + public FunctionalList genGeneric(E initRle, Function f, T spacer) { FunctionalList r = new FunctionalList<>(); - if (subgrammars.containsKey(initRule)) { - subgrammars.get(initRule).genGeneric(initRule, f, spacer) + if (subgrammars.containsKey(initRle)) { + subgrammars.get(initRle).genGeneric(initRle, f, spacer) .forEach(rp -> { r.add(rp); r.add(spacer); }); - } else if (rules.containsKey(initRule)) { - rules.get(initRule).genVal().forEach( + } else if (rules.containsKey(initRle)) { + rules.get(initRle).genVal().forEach( rp -> genGeneric(rp, f, spacer).forEach(rp2 -> { r.add(rp2); r.add(spacer); })); } else { - r.add(f.apply(initRule)); + r.add(f.apply(initRle)); r.add(spacer); } @@ -203,17 +209,22 @@ public class WeightedGrammar { * Generate a random list of grammar elements from a given initial * rule. * - * @param initRule + * @param initRle * The initial rule to start with. * @param spacer * The item to use to space the list. * @return A list of random grammar elements generated by the specified * rule. */ - public FunctionalList genList(E initRule, E spacer) { - return genGeneric(initRule, s -> s, spacer); + public FunctionalList genList(E initRle, E spacer) { + return genGeneric(initRle, s -> s, spacer); } + /** + * Get the initial rule of this grammar + * + * @return The initial rule of this grammar + */ public String getInitRule() { return initRule; } @@ -254,15 +265,16 @@ public class WeightedGrammar { int nTimes) { WeightedRandom> rule = rules.get(rName); - FunctionalList>> newResults = new FunctionalList<>(); + FunctionalList>> newResults = + new FunctionalList<>(); rule.getValues().forEach((par) -> { FunctionalList> nls = new FunctionalList<>(); // TODO bugtest this. if it works, write multiSuffixWith for (int i = 1; i <= nTimes; i++) { - FunctionalList nl = par - .merge((left, right) -> right.clone()); + FunctionalList nl = + par.merge((left, right) -> right.clone()); for (int j = 1; j <= i; j++) { nl.prepend(prefixToken); @@ -293,11 +305,12 @@ public class WeightedGrammar { public void prefixRule(E rName, E prefixToken, int addProb) { WeightedRandom> rule = rules.get(rName); - FunctionalList>> newResults = new FunctionalList<>(); + FunctionalList>> newResults = + new FunctionalList<>(); rule.getValues().forEach((par) -> { - FunctionalList nl = par - .merge((left, right) -> right.clone()); + FunctionalList nl = + par.merge((left, right) -> right.clone()); nl.prepend(prefixToken); newResults.add(new Pair<>( @@ -368,11 +381,12 @@ public class WeightedGrammar { public void suffixRule(E rName, E prefixToken, int addProb) { WeightedRandom> rule = rules.get(rName); - FunctionalList>> newResults = new FunctionalList<>(); + FunctionalList>> newResults = + new FunctionalList<>(); rule.getValues().forEach((par) -> { - FunctionalList nl = par - .merge((left, right) -> right.clone()); + FunctionalList nl = + par.merge((left, right) -> right.clone()); nl.add(prefixToken); newResults.add(new Pair<>( 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 bf3b4b6..3ddb8ef 100644 --- a/BJC-Utils2/src/main/java/bjc/utils/gen/WeightedRandom.java +++ b/BJC-Utils2/src/main/java/bjc/utils/gen/WeightedRandom.java @@ -69,7 +69,7 @@ public class WeightedRandom { */ public E genVal() { GenHolder v = new GenHolder<>(src.nextInt(totalChance)); - IHolder res = new GenHolder(); + IHolder res = new GenHolder<>(); GenHolder bl = new GenHolder<>(true); probs.forEachIndexed((i, p) -> { -- cgit v1.2.3