summaryrefslogtreecommitdiff
path: root/src/main/java/bjc/rgens/parser/elements/VariableRuleReference.java
diff options
context:
space:
mode:
authorBenjamin J. Culkin <bjculkin@mix.wvu.edu>2018-06-08 19:06:14 -0300
committerBenjamin J. Culkin <bjculkin@mix.wvu.edu>2018-06-08 19:06:14 -0300
commit33a165f0b0055d2bdf9a1fcaa639b31a7f87d9a6 (patch)
treeb208a7cd5b3c73ac13ba63a71b32059b90eb3275 /src/main/java/bjc/rgens/parser/elements/VariableRuleReference.java
parent44a8d9d2d56a311293ec86ea40df7126748300a1 (diff)
Major refactoring
A major refactoring to the internals of how things work. I believe that nothing is broken
Diffstat (limited to 'src/main/java/bjc/rgens/parser/elements/VariableRuleReference.java')
-rw-r--r--src/main/java/bjc/rgens/parser/elements/VariableRuleReference.java31
1 files changed, 0 insertions, 31 deletions
diff --git a/src/main/java/bjc/rgens/parser/elements/VariableRuleReference.java b/src/main/java/bjc/rgens/parser/elements/VariableRuleReference.java
deleted file mode 100644
index bebb9f7..0000000
--- a/src/main/java/bjc/rgens/parser/elements/VariableRuleReference.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package bjc.rgens.parser.elements;
-
-import bjc.rgens.parser.GrammarException;
-import bjc.rgens.parser.GenerationState;
-
-public class VariableRuleReference extends RuleCaseElement {
- public VariableRuleReference(String vl) {
- super(vl, ReferenceType.VARIABLE);
- }
-
- public void generate(GenerationState state) {
- String refBody = val.substring(1, val.length() - 1);
-
- /* Handle string references. */
- if (refBody.equals("$")) {
- throw new GrammarException("Cannot refer to unnamed variables");
- }
-
- String key = refBody.substring(1);
-
- if (!state.vars.containsKey(key)) {
- String msg = String.format("No variable '%s' defined", key);
-
- throw new GrammarException(msg);
- }
-
- state.contents.append(state.vars.get(key));
-
- return;
- }
-}