summaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorBenjamin J. Culkin <bjculkin@mix.wvu.edu>2018-06-04 10:57:29 -0300
committerBenjamin J. Culkin <bjculkin@mix.wvu.edu>2018-06-04 10:57:29 -0300
commit2ca83db4239ea46572910baf0358e3f8608a3610 (patch)
tree236922163f1137c5564d46bc3ae583e96a1c3aa5 /src/main/java
parent7201b6bd42d0b3d5176e605eb4076f9d2284500a (diff)
Change inline rule syntax
Inline rules are now enclosed in [...], not {...} to better match other reference types
Diffstat (limited to 'src/main/java')
-rwxr-xr-xsrc/main/java/bjc/rgens/parser/elements/CaseElement.java23
1 files changed, 11 insertions, 12 deletions
diff --git a/src/main/java/bjc/rgens/parser/elements/CaseElement.java b/src/main/java/bjc/rgens/parser/elements/CaseElement.java
index d7889a9..f960c31 100755
--- a/src/main/java/bjc/rgens/parser/elements/CaseElement.java
+++ b/src/main/java/bjc/rgens/parser/elements/CaseElement.java
@@ -119,7 +119,6 @@ public abstract class CaseElement {
/* Literal blank, for empty cases. */
return new BlankCaseElement();
} else if (specialBody.contains("|")) {
- return new InlineRuleCaseElement(specialBody.split("|"));
} else {
throw new IllegalArgumentException(String.format("Unknown special case part '%s'", specialBody));
}
@@ -131,23 +130,23 @@ public abstract class CaseElement {
int secondNum = Integer.parseInt(rawCase.substring(rawCase.lastIndexOf('.') + 1));
return new RangeCaseElement(firstNum, secondNum);
- }
-
- /*
- * @NOTE
- *
- * Once the rule element execution has been refactored,
- * pass rawCase instead.
- */
- if(csepart.contains("$")) {
+ } else if(rawCase.contains("|")) {
+ return new InlineRuleCaseElement(specialBody.split("|"));
+ } else if(csepart.contains("$")) {
+ /*
+ * @NOTE
+ *
+ * Once the rule element execution has been refactored,
+ * pass rawCase instead.
+ */
if(csepart.contains("-")) {
return new DependantRuleReference(csepart);
}
return new VariableRuleReference(csepart);
+ } else {
+ return new NormalRuleReference(csepart);
}
-
- return new NormalRuleReference(csepart);
} else {
return new LiteralCaseElement(csepart);
}