diff options
| author | Benjamin J. Culkin <bjculkin@mix.wvu.edu> | 2017-10-27 12:48:58 -0300 |
|---|---|---|
| committer | Benjamin J. Culkin <bjculkin@mix.wvu.edu> | 2017-10-27 12:48:58 -0300 |
| commit | ca37dcd305e3d5b322b0e502e9ebd83cdc33b990 (patch) | |
| tree | baf96f6ee43b7f62c58e096b04a8e245dcefca58 /RGens/src/main/java | |
| parent | 884c12a387e48bb86a094bc196c758d6546f7d21 (diff) | |
Add extraneous space remove for punctuation
Diffstat (limited to 'RGens/src/main/java')
| -rw-r--r-- | RGens/src/main/java/bjc/rgens/newparser/RGrammar.java | 17 |
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. */ |
