summaryrefslogtreecommitdiff
path: root/RGens/src/main/java/bjc/rgens/parser/RuleCase.java
diff options
context:
space:
mode:
authorBenjamin J. Culkin <bjculkin@mix.wvu.edu>2018-05-29 15:44:57 -0300
committerBenjamin J. Culkin <bjculkin@mix.wvu.edu>2018-05-29 15:44:57 -0300
commit03b9ed1601acfe323dc9b5360b8f2c2c972c8e04 (patch)
tree72e33eec337b386e6d536f128da03a9d4f2f12fe /RGens/src/main/java/bjc/rgens/parser/RuleCase.java
parentd22367abbb07f020dfb387032e9b72a040a170f5 (diff)
parent0faa5175b6f0de8835ed514615ac64135f406b29 (diff)
Merge branch 'working'
Diffstat (limited to 'RGens/src/main/java/bjc/rgens/parser/RuleCase.java')
-rwxr-xr-xRGens/src/main/java/bjc/rgens/parser/RuleCase.java88
1 files changed, 0 insertions, 88 deletions
diff --git a/RGens/src/main/java/bjc/rgens/parser/RuleCase.java b/RGens/src/main/java/bjc/rgens/parser/RuleCase.java
deleted file mode 100755
index 9c0a856..0000000
--- a/RGens/src/main/java/bjc/rgens/parser/RuleCase.java
+++ /dev/null
@@ -1,88 +0,0 @@
-package bjc.rgens.parser;
-
-import bjc.rgens.parser.elements.CaseElement;
-import bjc.utils.funcdata.IList;
-
-/*
- * @NOTE
- * If at some point we add new case types, they should go into subclasses,
- * not into this class.
- */
-/**
- * A case in a rule in a randomized grammar.
- *
- * @author EVE
- */
-public class RuleCase {
- /**
- * The possible types of a case.
- *
- * @author EVE
- */
- public static enum CaseType {
- /** A normal case, composed from a list of elements. */
- NORMAL,
- /** A case that doesn't insert spaces. */
- SPACEFLATTEN,
- /** A case that applies a regex after generation. */
- REGEX
- }
-
- /** The type of this case. */
- public final CaseType type;
-
- /**
- * The list of element values for this case.
- *
- * <h2>Used For</h2>
- * <dl>
- * <dt>NORMAL, SPACEFLATTEN</dt>
- * <dd>Used as the list of elementList the rule is composed of.</dd>
- * </dl>
- */
- protected IList<CaseElement> elementList;
-
- protected RuleCase(CaseType typ) {
- type = typ;
- }
-
- /**
- * Create a new case of the specified type that takes a element list
- * parameter.
- *
- * @param typ
- * The type of case to create.
- *
- * @param elements
- * The element list parameter of the case.
- *
- * @throws IllegalArgumentException
- * If this type doesn't take a element list parameter.
- */
- public RuleCase(CaseType typ, IList<CaseElement> elements) {
- this(typ);
-
- switch (typ) {
- case NORMAL:
- case SPACEFLATTEN:
- break;
- case REGEX:
- throw new IllegalArgumentException("This type requires an element list and a pattern");
- default:
- throw new IllegalArgumentException("This type doesn't have a element list parameter");
- }
-
- elementList = elements;
- }
-
- /**
- * Get the element list value of this type.
- *
- * @return
- * The element list value of this case, or null if this type
- * doesn't have one.
- */
- public IList<CaseElement> getElements() {
- return elementList;
- }
-}