diff options
| author | Benjamin J. Culkin <bjculkin@mix.wvu.edu> | 2018-06-04 22:19:21 -0300 |
|---|---|---|
| committer | Benjamin J. Culkin <bjculkin@mix.wvu.edu> | 2018-06-04 22:19:21 -0300 |
| commit | 8062cff63f864178a2a73650870362871bc25224 (patch) | |
| tree | 1da3005e66911182ae2433d7690fe98a0b8b6e37 /src/main/java/bjc/rgens/parser/RGrammar.java | |
| parent | 63c7fff30d41ab691d6f49d8d7b69e60f9a9e80f (diff) | |
Exhaustion pt. 2
There is now syntax for rule references. Use @ instead of $, and use :=
to indicate you want exhaustion enabled
Use @ to refer to it
Diffstat (limited to 'src/main/java/bjc/rgens/parser/RGrammar.java')
| -rwxr-xr-x | src/main/java/bjc/rgens/parser/RGrammar.java | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/main/java/bjc/rgens/parser/RGrammar.java b/src/main/java/bjc/rgens/parser/RGrammar.java index 6b17173..1b68c80 100755 --- a/src/main/java/bjc/rgens/parser/RGrammar.java +++ b/src/main/java/bjc/rgens/parser/RGrammar.java @@ -1,11 +1,14 @@ package bjc.rgens.parser; +import bjc.utils.data.IPair; +import bjc.utils.data.Pair; +import bjc.utils.funcutils.StringUtils; + import bjc.rgens.parser.elements.CaseElement; import bjc.rgens.parser.elements.LiteralCaseElement; import bjc.rgens.parser.elements.RangeCaseElement; import bjc.rgens.parser.elements.RuleCaseElement; import bjc.rgens.parser.elements.VariableCaseElement; -import bjc.utils.funcutils.StringUtils; import java.util.HashMap; import java.util.HashSet; @@ -126,7 +129,8 @@ public class RGrammar { * * @return A possible string from the grammar. */ - public String generate(String startRule, Random rnd, Map<String, String> vars, Map<String, Rule> rlVars) { + public String generate(String startRule, Random rnd, Map<String, String> vars, + Map<String, IPair<RGrammar, Rule>> rlVars) { return generate(startRule, new GenerationState(new StringBuilder(), rnd, vars, rlVars, this)); } |
