diff options
Diffstat (limited to 'src/main/java/bjc/rgens/parser/elements/VariableCaseElement.java')
| -rwxr-xr-x | src/main/java/bjc/rgens/parser/elements/VariableCaseElement.java | 19 |
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); } } } |
