summaryrefslogtreecommitdiff
path: root/src/main/java/bjc/rgens/parser/elements/VariableCaseElement.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/bjc/rgens/parser/elements/VariableCaseElement.java')
-rwxr-xr-xsrc/main/java/bjc/rgens/parser/elements/VariableCaseElement.java19
1 files changed, 14 insertions, 5 deletions
diff --git a/src/main/java/bjc/rgens/parser/elements/VariableCaseElement.java b/src/main/java/bjc/rgens/parser/elements/VariableCaseElement.java
index 3e691d9..63abe16 100755
--- a/src/main/java/bjc/rgens/parser/elements/VariableCaseElement.java
+++ b/src/main/java/bjc/rgens/parser/elements/VariableCaseElement.java
@@ -1,6 +1,11 @@
package bjc.rgens.parser.elements;
public abstract class VariableCaseElement extends CaseElement {
+ public static enum VariableType {
+ NORMAL,
+ EXPAND,
+ RULE
+ }
/**
* The name of the variable this element defines.
*/
@@ -11,11 +16,15 @@ public abstract class VariableCaseElement extends CaseElement {
*/
public final String varDef;
- public VariableCaseElement(String name, String def, boolean isExp) {
- super(isExp ? ElementType.EXPVARDEF : ElementType.VARDEF);
+ public final VariableType varType;
+
+ public VariableCaseElement(String name, String def, VariableType varType) {
+ super(ElementType.VARIABLE);
varName = name;
varDef = def;
+
+ this.varType = varType;
}
@Override
@@ -51,10 +60,10 @@ public abstract class VariableCaseElement extends CaseElement {
@Override
public String toString() {
- if (type == ElementType.VARDEF) {
- return String.format("{%s:=%s}", varName, varDef);
+ if (type == ElementType.VARIABLE) {
+ return String.format("{$%s:=%s}", varName, varDef);
} else {
- return String.format("{%s=%s}", varName, varDef);
+ return String.format("{$%s=%s}", varName, varDef);
}
}
}