diff options
| author | Benjamin J. Culkin <bjculkin@mix.wvu.edu> | 2018-06-04 22:19:21 -0300 |
|---|---|---|
| committer | Benjamin J. Culkin <bjculkin@mix.wvu.edu> | 2018-06-04 22:19:21 -0300 |
| commit | 8062cff63f864178a2a73650870362871bc25224 (patch) | |
| tree | 1da3005e66911182ae2433d7690fe98a0b8b6e37 /src/main/java/bjc/rgens/parser/elements/VariableCaseElement.java | |
| parent | 63c7fff30d41ab691d6f49d8d7b69e60f9a9e80f (diff) | |
Exhaustion pt. 2
There is now syntax for rule references. Use @ instead of $, and use :=
to indicate you want exhaustion enabled
Use @ to refer to it
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); } } } |
