diff options
| author | bjculkin <bjculkin@mix.wvu.edu> | 2017-03-21 19:42:12 -0400 |
|---|---|---|
| committer | bjculkin <bjculkin@mix.wvu.edu> | 2017-03-21 19:42:12 -0400 |
| commit | 2cc00686b50d5a28f0ab04ad52e5b075290698d9 (patch) | |
| tree | 9157f35c50dd12acd87bacb4f30c8d018703adb5 /RGens/src/main/java/bjc/rgens/newparser/Rule.java | |
| parent | 5444cd4db8a0fa41d25cd303c1145cadd112e12f (diff) | |
Add ranges
Ranges can now be used with the syntax [start..end] inline to generate
numbers instead of having to create a special rule for them.
Diffstat (limited to 'RGens/src/main/java/bjc/rgens/newparser/Rule.java')
| -rw-r--r-- | RGens/src/main/java/bjc/rgens/newparser/Rule.java | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/RGens/src/main/java/bjc/rgens/newparser/Rule.java b/RGens/src/main/java/bjc/rgens/newparser/Rule.java index a65f1ce..eca856f 100644 --- a/RGens/src/main/java/bjc/rgens/newparser/Rule.java +++ b/RGens/src/main/java/bjc/rgens/newparser/Rule.java @@ -3,6 +3,8 @@ package bjc.rgens.newparser; import bjc.utils.funcdata.FunctionalList; import bjc.utils.funcdata.IList; +import java.util.Random; + /** * A rule in a randomized grammar. * @@ -62,6 +64,18 @@ public class Rule { } /** + * Get a random case from this rule. + * + * @param rnd + * The random number generator to use. + * + * @return A random case from this rule. + */ + public RuleCase getCase(Random rnd) { + return ruleCases.randItem(rnd::nextInt); + } + + /** * Get all the cases of this rule. * * @return All the cases in this rule. |
