summaryrefslogtreecommitdiff
path: root/RGens/src/main/java/bjc/rgens/newparser/RGrammarParser.java
diff options
context:
space:
mode:
authorBenjamin J. Culkin <bjculkin@mix.wvu.edu>2017-10-24 19:29:04 -0300
committerBenjamin J. Culkin <bjculkin@mix.wvu.edu>2017-10-24 19:29:04 -0300
commitd6a2f1faa5d2f2009afe37a17b3c18faa2d79a0e (patch)
tree13efb0414aeb9bb9b4d90f6f62878a9cfcf69a5d /RGens/src/main/java/bjc/rgens/newparser/RGrammarParser.java
parente1f4d1f3fc86b67e82684d196d3948a13794d35f (diff)
Add a possible solution to :Spacing?
Diffstat (limited to 'RGens/src/main/java/bjc/rgens/newparser/RGrammarParser.java')
-rw-r--r--RGens/src/main/java/bjc/rgens/newparser/RGrammarParser.java11
1 files changed, 11 insertions, 0 deletions
diff --git a/RGens/src/main/java/bjc/rgens/newparser/RGrammarParser.java b/RGens/src/main/java/bjc/rgens/newparser/RGrammarParser.java
index e253cc3..9451f8c 100644
--- a/RGens/src/main/java/bjc/rgens/newparser/RGrammarParser.java
+++ b/RGens/src/main/java/bjc/rgens/newparser/RGrammarParser.java
@@ -51,6 +51,17 @@ public class RGrammarParser {
build.setInitialRule(body);
});
+ pragmas.put("despace-rule", (body, build, level) -> {
+ int sep = body.indexOf(' ');
+
+ if (sep != -1) {
+ String msg = "despace-rule pragma takes only one argument, the name of the rule to despace";
+ throw new GrammarException(msg);
+ }
+
+ build.despaceRule(body);
+ });
+
pragmas.put("export-rule", (body, build, level) -> {
String[] exports = body.split(" ");