diff options
| author | Benjamin J. Culkin <bjculkin@mix.wvu.edu> | 2017-11-06 20:56:21 -0400 |
|---|---|---|
| committer | Benjamin J. Culkin <bjculkin@mix.wvu.edu> | 2017-11-06 20:56:21 -0400 |
| commit | cba5ae6bc285439593f4e847c0d3b32e8e608ec8 (patch) | |
| tree | 7a5b6f6ca85aa9984730787d4e20fe38aec0a197 /RGens/src/main/java/bjc/rgens/newparser/RGrammar.java | |
| parent | 8d7b542ba7182b701a75a0fd5550e68f421ea696 (diff) | |
Minor source tweaks
More attempted spacing tweaks and stuff
Diffstat (limited to 'RGens/src/main/java/bjc/rgens/newparser/RGrammar.java')
| -rw-r--r-- | RGens/src/main/java/bjc/rgens/newparser/RGrammar.java | 33 |
1 files changed, 29 insertions, 4 deletions
diff --git a/RGens/src/main/java/bjc/rgens/newparser/RGrammar.java b/RGens/src/main/java/bjc/rgens/newparser/RGrammar.java index a01aea4..3ffb4b2 100644 --- a/RGens/src/main/java/bjc/rgens/newparser/RGrammar.java +++ b/RGens/src/main/java/bjc/rgens/newparser/RGrammar.java @@ -178,7 +178,6 @@ public class RGrammar { generateCase(start, new GenerationState(contents, rnd, vars)); String body = contents.toString(); - /* * Collapse duplicate spaces. */ @@ -190,11 +189,34 @@ public class RGrammar { * This can be done in the grammars, but it is very tedious to * do so. */ + + /* Handle 's */ body = body.replaceAll(" 's ", "'s "); - body = body.replaceAll(" ([,:.)\\]'\"]) ", "$1 "); - body = body.replaceAll(" (`[(\\[]) ", " $1"); + + /* Handle opening/closing punctuation. */ + body = body.replaceAll("([(\\[]) ", " $1"); + body = body.replaceAll(" ([)\\]'\"])", "$1 "); + + /* Remove spaces around series of opening/closing punctuation. */ + body = body.replaceAll("([(\\[])\\s+([(\\[])", "$1$2"); + body = body.replaceAll("([)\\]])\\s+([)\\]])", "$1$2"); + + /* Handle inter-word punctuation. */ + body = body.replaceAll(" ([,:.])", "$1 "); + + /* Handle intra-word punctuation. */ body = body.replaceAll("\\s?([-/])\\s?", "$1"); + /* + * Collapse duplicate spaces. + */ + body = body.replaceAll("\\s+", " "); + + /* @TODO 11/01/17 Ben Culkin :RegexRule + * Replace this once it is no longer needed. + */ + body = body.replaceAll("\\s(ish|burg|ton|ville|opolis|field|boro|dale)", "$1"); + return body; } @@ -205,7 +227,10 @@ public class RGrammar { case NORMAL: for (CaseElement elm : start.getElements()) { generateElement(elm, state); - state.contents.append(" "); + + if(elm.type != CaseElement.ElementType.VARDEF) { + state.contents.append(" "); + } } break; case SPACEFLATTEN: |
