summaryrefslogtreecommitdiff
path: root/src/main/java/bjc/rgens/parser/elements
diff options
context:
space:
mode:
authorBenjamin J. Culkin <bjculkin@mix.wvu.edu>2018-09-06 16:26:40 -0300
committerBenjamin J. Culkin <bjculkin@mix.wvu.edu>2018-09-06 16:26:40 -0300
commitc7fbd761c1cc8a8a553f79463ecb8dd02c43d0f8 (patch)
tree704ad9534058cdb98e6c3c34edf893489bce5779 /src/main/java/bjc/rgens/parser/elements
parente9ff21333162f6b3a516d91d4c814d5ebb78d88c (diff)
Convert GenerationState.contents to private
This is to prepare for replacing contents with a ReportWriter
Diffstat (limited to 'src/main/java/bjc/rgens/parser/elements')
-rwxr-xr-xsrc/main/java/bjc/rgens/parser/elements/ExpVariableCaseElement.java4
-rw-r--r--src/main/java/bjc/rgens/parser/elements/LiteralCaseElement.java2
-rwxr-xr-xsrc/main/java/bjc/rgens/parser/elements/RangeCaseElement.java2
-rwxr-xr-xsrc/main/java/bjc/rgens/parser/elements/RuleCaseElement.java12
-rw-r--r--src/main/java/bjc/rgens/parser/elements/SerialCaseElement.java2
-rw-r--r--src/main/java/bjc/rgens/parser/elements/vars/ARefVariableElement.java4
-rw-r--r--src/main/java/bjc/rgens/parser/elements/vars/LiteralVariableElement.java2
-rw-r--r--src/main/java/bjc/rgens/parser/elements/vars/RRefVariableElement.java4
-rw-r--r--src/main/java/bjc/rgens/parser/elements/vars/VRefVariableElement.java2
9 files changed, 16 insertions, 18 deletions
diff --git a/src/main/java/bjc/rgens/parser/elements/ExpVariableCaseElement.java b/src/main/java/bjc/rgens/parser/elements/ExpVariableCaseElement.java
index 1606e59..c221f4a 100755
--- a/src/main/java/bjc/rgens/parser/elements/ExpVariableCaseElement.java
+++ b/src/main/java/bjc/rgens/parser/elements/ExpVariableCaseElement.java
@@ -29,12 +29,10 @@ public class ExpVariableCaseElement extends VariableDefCaseElement {
*/
String res = destGrammar.generate(varDef, state, false);
- newState.contents = new StringBuilder(res);
+ state.defineVar(varName, res);
} else {
String msg = String.format("No rule '%s' defined", varDef);
throw new GrammarException(msg);
}
-
- state.defineVar(varName, newState.contents.toString());
}
}
diff --git a/src/main/java/bjc/rgens/parser/elements/LiteralCaseElement.java b/src/main/java/bjc/rgens/parser/elements/LiteralCaseElement.java
index 6e0f8fd..2621ee6 100644
--- a/src/main/java/bjc/rgens/parser/elements/LiteralCaseElement.java
+++ b/src/main/java/bjc/rgens/parser/elements/LiteralCaseElement.java
@@ -12,6 +12,6 @@ public class LiteralCaseElement extends CaseElement {
}
public void generate(GenerationState state) {
- state.contents.append(val);
+ state.appendContents(val);
}
}
diff --git a/src/main/java/bjc/rgens/parser/elements/RangeCaseElement.java b/src/main/java/bjc/rgens/parser/elements/RangeCaseElement.java
index e877dd1..bd73f1b 100755
--- a/src/main/java/bjc/rgens/parser/elements/RangeCaseElement.java
+++ b/src/main/java/bjc/rgens/parser/elements/RangeCaseElement.java
@@ -17,7 +17,7 @@ public class RangeCaseElement extends CaseElement {
int val = state.rnd.nextInt(end - begin);
val += begin;
- state.contents.append(val);
+ state.appendContents(Integer.toString(val));
}
@Override
diff --git a/src/main/java/bjc/rgens/parser/elements/RuleCaseElement.java b/src/main/java/bjc/rgens/parser/elements/RuleCaseElement.java
index f13dbdb..e42647c 100755
--- a/src/main/java/bjc/rgens/parser/elements/RuleCaseElement.java
+++ b/src/main/java/bjc/rgens/parser/elements/RuleCaseElement.java
@@ -37,12 +37,12 @@ public class RuleCaseElement extends CaseElement {
if(inName == false) inName = elm.forbidSpaces;
}
- String body = newState.contents.toString();
+ String body = newState.getContents();
if(inName) {
doGenerate(String.format("[%s]", body), state);
} else {
- state.contents.append(body);
+ state.appendContents(body);
}
}
@@ -67,7 +67,7 @@ public class RuleCaseElement extends CaseElement {
* once.
*/
String res = destGrammar.generate(actName, newState, false);
- newState.contents = new StringBuilder(res);
+ newState.setContents(res);
} else {
/*
* @TODO 5/29/18 Ben Culkin :RuleSuggesting
@@ -91,13 +91,13 @@ public class RuleCaseElement extends CaseElement {
throw new GrammarException(msg);
}
- String res = newState.contents.toString();
+ String res = newState.getContents();
if (actName.contains("+")) {
/* Rule names with pluses in them get space-flattened */
- state.contents.append(res.replaceAll("\\s+", ""));
+ state.appendContents(res.replaceAll("\\s+", ""));
} else {
- state.contents.append(res);
+ state.appendContents(res);
}
}
}
diff --git a/src/main/java/bjc/rgens/parser/elements/SerialCaseElement.java b/src/main/java/bjc/rgens/parser/elements/SerialCaseElement.java
index 348cfbb..195ba4f 100644
--- a/src/main/java/bjc/rgens/parser/elements/SerialCaseElement.java
+++ b/src/main/java/bjc/rgens/parser/elements/SerialCaseElement.java
@@ -24,7 +24,7 @@ public class SerialCaseElement extends CaseElement {
rep.generate(state);
if(rep.spacing)
- state.contents.append(" ");
+ state.appendContents(" ");
}
}
}
diff --git a/src/main/java/bjc/rgens/parser/elements/vars/ARefVariableElement.java b/src/main/java/bjc/rgens/parser/elements/vars/ARefVariableElement.java
index 99af354..17db660 100644
--- a/src/main/java/bjc/rgens/parser/elements/vars/ARefVariableElement.java
+++ b/src/main/java/bjc/rgens/parser/elements/vars/ARefVariableElement.java
@@ -20,8 +20,8 @@ public class ARefVariableElement extends VariableElement {
rl.generate(newState);
- String res = newState.contents.toString();
+ String res = newState.getContents();
- state.contents.append(res);
+ state.appendContents(res);
}
}
diff --git a/src/main/java/bjc/rgens/parser/elements/vars/LiteralVariableElement.java b/src/main/java/bjc/rgens/parser/elements/vars/LiteralVariableElement.java
index cf33c66..e7415f5 100644
--- a/src/main/java/bjc/rgens/parser/elements/vars/LiteralVariableElement.java
+++ b/src/main/java/bjc/rgens/parser/elements/vars/LiteralVariableElement.java
@@ -12,6 +12,6 @@ public class LiteralVariableElement extends VariableElement {
}
public void generate(GenerationState state) {
- state.contents.append(val);
+ state.appendContents(val);
}
}
diff --git a/src/main/java/bjc/rgens/parser/elements/vars/RRefVariableElement.java b/src/main/java/bjc/rgens/parser/elements/vars/RRefVariableElement.java
index 5c0a768..e81e9f8 100644
--- a/src/main/java/bjc/rgens/parser/elements/vars/RRefVariableElement.java
+++ b/src/main/java/bjc/rgens/parser/elements/vars/RRefVariableElement.java
@@ -23,12 +23,12 @@ public class RRefVariableElement extends VariableElement {
rl.generate(newState);
- String res = newState.contents.toString();
+ String res = newState.getContents();
if(forbidSpaces && res.contains(" ")) {
throw new GrammarException(String.format("Spaces not allowed in this context (rule-reference %s)", state));
}
- state.contents.append(res);
+ state.appendContents(res);
}
}
diff --git a/src/main/java/bjc/rgens/parser/elements/vars/VRefVariableElement.java b/src/main/java/bjc/rgens/parser/elements/vars/VRefVariableElement.java
index 1facd38..e65d876 100644
--- a/src/main/java/bjc/rgens/parser/elements/vars/VRefVariableElement.java
+++ b/src/main/java/bjc/rgens/parser/elements/vars/VRefVariableElement.java
@@ -19,6 +19,6 @@ public class VRefVariableElement extends VariableElement {
throw new GrammarException(String.format("Cannot include variable %s w/ spaces in body in rule name", nam));
}
- state.contents.append(strang);
+ state.appendContents(strang);
}
}