summaryrefslogtreecommitdiff
path: root/RGens
diff options
context:
space:
mode:
authorBenjamin J. Culkin <bjculkin@mix.wvu.edu>2017-10-27 12:48:58 -0300
committerBenjamin J. Culkin <bjculkin@mix.wvu.edu>2017-10-27 12:48:58 -0300
commitca37dcd305e3d5b322b0e502e9ebd83cdc33b990 (patch)
treebaf96f6ee43b7f62c58e096b04a8e245dcefca58 /RGens
parent884c12a387e48bb86a094bc196c758d6546f7d21 (diff)
Add extraneous space remove for punctuation
Diffstat (limited to 'RGens')
-rw-r--r--RGens/src/main/java/bjc/rgens/newparser/RGrammar.java17
1 files changed, 16 insertions, 1 deletions
diff --git a/RGens/src/main/java/bjc/rgens/newparser/RGrammar.java b/RGens/src/main/java/bjc/rgens/newparser/RGrammar.java
index 17f6d43..0ac0a16 100644
--- a/RGens/src/main/java/bjc/rgens/newparser/RGrammar.java
+++ b/RGens/src/main/java/bjc/rgens/newparser/RGrammar.java
@@ -177,7 +177,22 @@ public class RGrammar {
generateCase(start, new GenerationState(contents, rnd, vars));
- return contents.toString().replaceAll("\\s+", " ");
+ String body = contents.toString();
+
+ /*
+ * Collapse duplicate spaces.
+ */
+ body = body.replaceAll("\\s+", " ");
+
+ /*
+ * Remove extraneous spaces around punctutation marks.
+ *
+ * This can be done in the grammars, but it is very tedious to
+ * do so.
+ */
+ body = body.replaceAll(" ([,:().'\"\\[\\]/]) ", "$1 ");
+
+ return body;
}
/* Generate a rule case. */