diff options
| author | bjculkin <bjculkin@mix.wvu.edu> | 2017-03-21 19:43:11 -0400 |
|---|---|---|
| committer | bjculkin <bjculkin@mix.wvu.edu> | 2017-03-21 19:43:11 -0400 |
| commit | 9a5a155fbd2c9d87e698f9e25cd504bb2fcacffc (patch) | |
| tree | 6dd77f0888422f4d541f911c6893c67ed1b7a776 /RGens/src/main | |
| parent | 2cc00686b50d5a28f0ab04ad52e5b075290698d9 (diff) | |
Add flat rules.
Flat rules, which are any rules that have the symbol '+' in their name,
have all of their spaces replaced with "" to have the effect of directly
conjoining a bunch of rules together.
Diffstat (limited to 'RGens/src/main')
| -rw-r--r-- | RGens/src/main/java/bjc/rgens/newparser/RGrammar.java | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/RGens/src/main/java/bjc/rgens/newparser/RGrammar.java b/RGens/src/main/java/bjc/rgens/newparser/RGrammar.java index aa5307d..ed02e87 100644 --- a/RGens/src/main/java/bjc/rgens/newparser/RGrammar.java +++ b/RGens/src/main/java/bjc/rgens/newparser/RGrammar.java @@ -174,7 +174,14 @@ public class RGrammar { throw new GrammarException(String.format("No rule by name '%s' found", refersTo)); } + if(refersTo.contains("+")) { + /* + * Rule names with pluses in them get space-flattened + */ + state.contents.append(newState.contents.toString().replaceAll("\\s+", "")); + } else { state.contents.append(newState.contents.toString()); + } } /** |
