From 99e79bca7c1fe3c43ca2ec67e36b8e323c5f7107 Mon Sep 17 00:00:00 2001 From: bculkin2442 Date: Sun, 21 Feb 2016 15:41:33 -0500 Subject: Commenting of various things --- .../main/java/bjc/utils/gen/WeightedGrammar.java | 56 ++++++++++++++++++++++ 1 file changed, 56 insertions(+) (limited to 'BJC-Utils2/src/main/java/bjc/utils/gen/WeightedGrammar.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 228f14d..de1e7b8 100644 --- a/BJC-Utils2/src/main/java/bjc/utils/gen/WeightedGrammar.java +++ b/BJC-Utils2/src/main/java/bjc/utils/gen/WeightedGrammar.java @@ -19,9 +19,24 @@ import bjc.utils.funcdata.FunctionalList; * The values that make up sentances of this grammar. */ public class WeightedGrammar { + /** + * The initial rule of the grammar + */ protected String initRule; + + /** + * The rules currently in this grammar + */ protected Map>> rules; + + /** + * The random number generator used for random numbers + */ private Random sr; + + /** + * All of the subgrammars of this grammar + */ protected Map> subgrammars; /** @@ -57,6 +72,15 @@ public class WeightedGrammar { rn.addProb(prob, cse); } + /** + * Add a alias for an existing subgrammar + * + * @param name + * The name of the subgrammar to alias + * @param alias + * The alias of the subgrammar + * @return Whether the alias was succesfully created + */ public boolean addGrammarAlias(E name, E alias) { if (subgrammars.containsKey(alias)) { return false; @@ -234,6 +258,18 @@ public class WeightedGrammar { }); } + /** + * Prefix a given rule with a token multiple times + * + * @param rName + * The name of the rule to prefix + * @param prefixToken + * The token to prefix to the rules + * @param addProb + * The additional probability of the tokens + * @param nTimes + * The number of times to prefix the token + */ public void multiPrefixRule(E rName, E prefixToken, int addProb, int nTimes) { WeightedRandom> rule = rules.get(rName); @@ -302,10 +338,25 @@ public class WeightedGrammar { return rules.keySet(); } + /** + * Set the initial rule of the graphic + * + * @param initRule + */ public void setInitRule(String initRule) { this.initRule = initRule; } + /** + * Suffix a token to a rule + * + * @param rName + * The rule to suffix + * @param prefixToken + * The token to prefix to the rule + * @param addProb + * Additional probability of the prefixed rule + */ public void suffixRule(E rName, E prefixToken, int addProb) { WeightedRandom> rule = rules.get(rName); @@ -323,6 +374,11 @@ public class WeightedGrammar { }); } + /** + * Check if this grammar has an initial rule + * + * @return Whether or not this grammar has an initial rule + */ public boolean hasInitRule() { return initRule != null && !initRule.equalsIgnoreCase(""); } -- cgit v1.2.3