summaryrefslogtreecommitdiff
path: root/src/main/java/bjc/rgens/parser/elements/vars
diff options
context:
space:
mode:
authorBenjamin J. Culkin <bjculkin@mix.wvu.edu>2018-09-05 14:54:12 -0300
committerBenjamin J. Culkin <bjculkin@mix.wvu.edu>2018-09-05 14:54:12 -0300
commit15f0bf5207df703ffbb53c18a147b440dcf43546 (patch)
tree587a58ae6a09a2c63af6f62111211e029f868b05 /src/main/java/bjc/rgens/parser/elements/vars
parentdee4d326c7ab5b353813877e452cd72103e644b0 (diff)
Make variable fields private
This makes the two maps in GenerationState private. Use the defineVar/findVar or defineRuleVar/findRuleVar instead. This is another change on the way to doing autovivify
Diffstat (limited to 'src/main/java/bjc/rgens/parser/elements/vars')
-rw-r--r--src/main/java/bjc/rgens/parser/elements/vars/ARefVariableElement.java6
-rw-r--r--src/main/java/bjc/rgens/parser/elements/vars/VRefVariableElement.java5
2 files changed, 2 insertions, 9 deletions
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 a4bb730..5e8fe05 100644
--- a/src/main/java/bjc/rgens/parser/elements/vars/ARefVariableElement.java
+++ b/src/main/java/bjc/rgens/parser/elements/vars/ARefVariableElement.java
@@ -14,11 +14,7 @@ public class ARefVariableElement extends VariableElement {
}
public void generate(GenerationState state) {
- if(!state.rlVars.containsKey(value)) {
- throw new GrammarException("No rule variable named " + value);
- }
-
- Rule rl = state.rlVars.get(value);
+ Rule rl = state.findRuleVar(value, state);
GenerationState newState = state.newBuf();
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 b19f785..a16503f 100644
--- a/src/main/java/bjc/rgens/parser/elements/vars/VRefVariableElement.java
+++ b/src/main/java/bjc/rgens/parser/elements/vars/VRefVariableElement.java
@@ -13,11 +13,8 @@ public class VRefVariableElement extends VariableElement {
}
public void generate(GenerationState state) {
- if (!state.vars.containsKey(nam)) {
- throw new GrammarException(String.format("No variable '%s' defined", nam));
- }
+ String strang = state.findVar(nam, state);
- String strang = state.vars.get(nam);
if(forbidSpaces && strang.contains(" ")) {
throw new GrammarException(String.format("Cannot include variable %s w/ spaces in body in rule name", nam));
}