summaryrefslogtreecommitdiff
path: root/src/main/java/bjc/rgens/parser/elements/RuleVariableCaseElement.java
diff options
context:
space:
mode:
authorBenjamin J. Culkin <bjculkin@mix.wvu.edu>2020-11-11 12:29:59 -0400
committerBenjamin J. Culkin <bjculkin@mix.wvu.edu>2020-11-11 12:29:59 -0400
commit80aa147aedc91356276d4346efb1ea62ea5b06f9 (patch)
treea57c8f2ad3a7e68ba1c0a5a2bea573a8da277ab6 /src/main/java/bjc/rgens/parser/elements/RuleVariableCaseElement.java
parentc88c846b75dbc806db19a2e3a907bff21fd0c273 (diff)
parente9e0ca7bfe722375e7ccb25d2bafbe395b6c6a59 (diff)
Merge branch 'master' of https://github.com/bculkin2442/rgens
Diffstat (limited to 'src/main/java/bjc/rgens/parser/elements/RuleVariableCaseElement.java')
-rw-r--r--src/main/java/bjc/rgens/parser/elements/RuleVariableCaseElement.java17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/main/java/bjc/rgens/parser/elements/RuleVariableCaseElement.java b/src/main/java/bjc/rgens/parser/elements/RuleVariableCaseElement.java
index 923b56c..5806e39 100644
--- a/src/main/java/bjc/rgens/parser/elements/RuleVariableCaseElement.java
+++ b/src/main/java/bjc/rgens/parser/elements/RuleVariableCaseElement.java
@@ -6,15 +6,32 @@ import bjc.rgens.parser.GenerationState;
import bjc.rgens.parser.GrammarException;
import bjc.rgens.parser.Rule;
+/**
+ * Case element which creates a rule variable.
+ *
+ * @author Ben Culkin
+ *
+ */
public class RuleVariableCaseElement extends VariableDefCaseElement {
+ /**
+ * Whether or not this is an exhaustive variable.
+ */
public final boolean exhaust;
+ /**
+ * Create a case element which creates a rule variable.
+ *
+ * @param varName The name of the variable.
+ * @param varDef The definition of the variable.
+ * @param exhaust Whether or not this is an exhaustive variable.
+ */
public RuleVariableCaseElement(String varName, String varDef, boolean exhaust) {
super(varName, varDef);
this.exhaust = exhaust;
}
+ @Override
public void generate(GenerationState state) {
Rule rl = state.findRule(varDef, true);