From 0faa5175b6f0de8835ed514615ac64135f406b29 Mon Sep 17 00:00:00 2001 From: "Benjamin J. Culkin" Date: Tue, 29 May 2018 15:35:02 -0300 Subject: Move files out of folder --- .../rgens/parser/elements/BlankCaseElement.java | 7 - .../bjc/rgens/parser/elements/CaseElement.java | 147 --------------------- .../parser/elements/ExpVariableCaseElement.java | 7 - .../parser/elements/LitVariableCaseElement.java | 7 - .../rgens/parser/elements/LiteralCaseElement.java | 7 - .../rgens/parser/elements/RangeCaseElement.java | 43 ------ .../bjc/rgens/parser/elements/RuleCaseElement.java | 7 - .../rgens/parser/elements/StringCaseElement.java | 41 ------ .../rgens/parser/elements/VariableCaseElement.java | 60 --------- 9 files changed, 326 deletions(-) delete mode 100644 RGens/src/main/java/bjc/rgens/parser/elements/BlankCaseElement.java delete mode 100644 RGens/src/main/java/bjc/rgens/parser/elements/CaseElement.java delete mode 100644 RGens/src/main/java/bjc/rgens/parser/elements/ExpVariableCaseElement.java delete mode 100644 RGens/src/main/java/bjc/rgens/parser/elements/LitVariableCaseElement.java delete mode 100644 RGens/src/main/java/bjc/rgens/parser/elements/LiteralCaseElement.java delete mode 100644 RGens/src/main/java/bjc/rgens/parser/elements/RangeCaseElement.java delete mode 100644 RGens/src/main/java/bjc/rgens/parser/elements/RuleCaseElement.java delete mode 100644 RGens/src/main/java/bjc/rgens/parser/elements/StringCaseElement.java delete mode 100644 RGens/src/main/java/bjc/rgens/parser/elements/VariableCaseElement.java (limited to 'RGens/src/main/java/bjc/rgens/parser/elements') diff --git a/RGens/src/main/java/bjc/rgens/parser/elements/BlankCaseElement.java b/RGens/src/main/java/bjc/rgens/parser/elements/BlankCaseElement.java deleted file mode 100644 index 7229e92..0000000 --- a/RGens/src/main/java/bjc/rgens/parser/elements/BlankCaseElement.java +++ /dev/null @@ -1,7 +0,0 @@ -package bjc.rgens.parser.elements; - -public class BlankCaseElement extends LiteralCaseElement { - public BlankCaseElement() { - super(""); - } -} diff --git a/RGens/src/main/java/bjc/rgens/parser/elements/CaseElement.java b/RGens/src/main/java/bjc/rgens/parser/elements/CaseElement.java deleted file mode 100644 index d74ab52..0000000 --- a/RGens/src/main/java/bjc/rgens/parser/elements/CaseElement.java +++ /dev/null @@ -1,147 +0,0 @@ -package bjc.rgens.parser.elements; - -import bjc.rgens.parser.GrammarException; - -/* - * @TODO 10/11/17 Ben Culkin :CaseElementSplit Split this into multiple - * subclasses based off of a value of ElementType. - */ -/** - * A element in a rule case. - * - * @author EVE - */ -public class CaseElement { - /** - * The possible types of an element. - * - * @author EVE - */ - public static enum ElementType { - /** An element that represents a literal string. */ - LITERAL, - /** An element that represents a rule reference. */ - RULEREF, - /** An element that represents a random range. */ - RANGE, - /** An element that represents a variable that stores a string. */ - VARDEF, - /** - * An element that represents a variable that stores the result of generating a - * rule. - */ - EXPVARDEF; - } - - /* Regexps for marking rule types. */ - private static final String SPECIAL_CASELEM = "\\{[^}]+\\}"; - private static final String REFER_CASELEM = "\\[[^\\]]+\\]"; - private static final String RANGE_CASELM = "\\[\\d+\\.\\.\\d+\\]"; - - /** The type of this element. */ - public final ElementType type; - - /** - * Create a new case element. - * - * @param typ - * The type of this element. - */ - protected CaseElement(ElementType typ) { - type = typ; - } - - @Override - public String toString() { - switch (type) { - default: - return String.format("Unknown type '%s'", type); - } - } - - /** - * Create a case element from a string. - * - * @param csepart - * The string to convert. - * - * @return A case element representing the string. - */ - public static CaseElement createElement(String csepart) { - if (csepart == null) { - throw new NullPointerException("Case part cannot be null"); - } - - if (csepart.matches(SPECIAL_CASELEM)) { - /* Handle special cases. */ - String specialBody = csepart.substring(1, csepart.length() - 1); - - System.out.printf("\t\tTRACE: special body is '%s'\n", specialBody); - - if (specialBody.matches("\\S+:=\\S+")) { - /* Handle expanding variable definitions. */ - String[] parts = specialBody.split(":="); - - if (parts.length != 2) { - String msg = "Expanded variables must be a name and a definition, seperated by :="; - - throw new GrammarException(msg); - } - - return new ExpVariableCaseElement(parts[0], parts[1]); - } else if (specialBody.matches("\\S+=\\S+")) { - /* Handle regular variable definitions. */ - String[] parts = specialBody.split("="); - - if (parts.length != 2) { - String msg = "Variables must be a name and a definition, seperated by ="; - - throw new GrammarException(msg); - } - - return new LitVariableCaseElement(parts[0], parts[1]); - } else if (specialBody.matches("{empty}")) { - /* Literal blank, for empty cases. */ - return new BlankCaseElement(); - } else { - throw new IllegalArgumentException(String.format("Unknown special case part '%s'", specialBody)); - } - } else if (csepart.matches(REFER_CASELEM)) { - if (csepart.matches(RANGE_CASELM)) { - /* Handle ranges */ - String rawRange = csepart.substring(1, csepart.length() - 1); - - int firstNum = Integer.parseInt(rawRange.substring(0, rawRange.indexOf('.'))); - int secondNum = Integer.parseInt(rawRange.substring(rawRange.lastIndexOf('.') + 1)); - - return new RangeCaseElement(firstNum, secondNum); - } - - return new RuleCaseElement(csepart); - } else { - return new LiteralCaseElement(csepart); - } - } - - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + ((type == null) ? 0 : type.hashCode()); - return result; - } - - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) - return false; - CaseElement other = (CaseElement) obj; - if (type != other.type) - return false; - return true; - } -} \ No newline at end of file diff --git a/RGens/src/main/java/bjc/rgens/parser/elements/ExpVariableCaseElement.java b/RGens/src/main/java/bjc/rgens/parser/elements/ExpVariableCaseElement.java deleted file mode 100644 index 30925e2..0000000 --- a/RGens/src/main/java/bjc/rgens/parser/elements/ExpVariableCaseElement.java +++ /dev/null @@ -1,7 +0,0 @@ -package bjc.rgens.parser.elements; - -public class ExpVariableCaseElement extends VariableCaseElement { - public ExpVariableCaseElement(String name, String def) { - super(name, def, true); - } -} diff --git a/RGens/src/main/java/bjc/rgens/parser/elements/LitVariableCaseElement.java b/RGens/src/main/java/bjc/rgens/parser/elements/LitVariableCaseElement.java deleted file mode 100644 index 11035b1..0000000 --- a/RGens/src/main/java/bjc/rgens/parser/elements/LitVariableCaseElement.java +++ /dev/null @@ -1,7 +0,0 @@ -package bjc.rgens.parser.elements; - -public class LitVariableCaseElement extends VariableCaseElement { - public LitVariableCaseElement(String name, String def) { - super(name, def, false); - } -} diff --git a/RGens/src/main/java/bjc/rgens/parser/elements/LiteralCaseElement.java b/RGens/src/main/java/bjc/rgens/parser/elements/LiteralCaseElement.java deleted file mode 100644 index d96a32d..0000000 --- a/RGens/src/main/java/bjc/rgens/parser/elements/LiteralCaseElement.java +++ /dev/null @@ -1,7 +0,0 @@ -package bjc.rgens.parser.elements; - -public class LiteralCaseElement extends StringCaseElement { - public LiteralCaseElement(String vl) { - super(vl, true); - } -} diff --git a/RGens/src/main/java/bjc/rgens/parser/elements/RangeCaseElement.java b/RGens/src/main/java/bjc/rgens/parser/elements/RangeCaseElement.java deleted file mode 100644 index d98bc61..0000000 --- a/RGens/src/main/java/bjc/rgens/parser/elements/RangeCaseElement.java +++ /dev/null @@ -1,43 +0,0 @@ -package bjc.rgens.parser.elements; - -public class RangeCaseElement extends CaseElement { - public final int begin; - public final int end; - - public RangeCaseElement(int beg, int en) { - super(ElementType.RANGE); - - begin = beg; - end = en; - } - - @Override - public int hashCode() { - final int prime = 31; - int result = super.hashCode(); - result = prime * result + begin; - result = prime * result + end; - return result; - } - - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (!super.equals(obj)) - return false; - if (getClass() != obj.getClass()) - return false; - RangeCaseElement other = (RangeCaseElement) obj; - if (begin != other.begin) - return false; - if (end != other.end) - return false; - return true; - } - - @Override - public String toString() { - return String.format("[%d..%d]", begin, end); - } -} diff --git a/RGens/src/main/java/bjc/rgens/parser/elements/RuleCaseElement.java b/RGens/src/main/java/bjc/rgens/parser/elements/RuleCaseElement.java deleted file mode 100644 index f4d3512..0000000 --- a/RGens/src/main/java/bjc/rgens/parser/elements/RuleCaseElement.java +++ /dev/null @@ -1,7 +0,0 @@ -package bjc.rgens.parser.elements; - -public class RuleCaseElement extends StringCaseElement { - public RuleCaseElement(String vl) { - super(vl, false); - } -} diff --git a/RGens/src/main/java/bjc/rgens/parser/elements/StringCaseElement.java b/RGens/src/main/java/bjc/rgens/parser/elements/StringCaseElement.java deleted file mode 100644 index 0e64fd3..0000000 --- a/RGens/src/main/java/bjc/rgens/parser/elements/StringCaseElement.java +++ /dev/null @@ -1,41 +0,0 @@ -package bjc.rgens.parser.elements; - -public class StringCaseElement extends CaseElement { - public final String val; - - protected StringCaseElement(String vl, boolean isLiteral) { - super(isLiteral ? ElementType.LITERAL : ElementType.RULEREF); - - val = vl; - } - - @Override - public int hashCode() { - final int prime = 31; - int result = super.hashCode(); - result = prime * result + ((val == null) ? 0 : val.hashCode()); - return result; - } - - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (!super.equals(obj)) - return false; - if (getClass() != obj.getClass()) - return false; - StringCaseElement other = (StringCaseElement) obj; - if (val == null) { - if (other.val != null) - return false; - } else if (!val.equals(other.val)) - return false; - return true; - } - - @Override - public String toString() { - return val; - } -} diff --git a/RGens/src/main/java/bjc/rgens/parser/elements/VariableCaseElement.java b/RGens/src/main/java/bjc/rgens/parser/elements/VariableCaseElement.java deleted file mode 100644 index 920445a..0000000 --- a/RGens/src/main/java/bjc/rgens/parser/elements/VariableCaseElement.java +++ /dev/null @@ -1,60 +0,0 @@ -package bjc.rgens.parser.elements; - -public class VariableCaseElement extends CaseElement { - /** - * The name of the variable this element defines. - */ - public final String varName; - - /** - * The definition of the variable this element defines. - */ - public final String varDef; - - public VariableCaseElement(String name, String def, boolean isExp) { - super(isExp ? ElementType.EXPVARDEF : ElementType.VARDEF); - - varName = name; - varDef = def; - } - - @Override - public int hashCode() { - final int prime = 31; - int result = super.hashCode(); - result = prime * result + ((varDef == null) ? 0 : varDef.hashCode()); - result = prime * result + ((varName == null) ? 0 : varName.hashCode()); - return result; - } - - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (!super.equals(obj)) - return false; - if (getClass() != obj.getClass()) - return false; - VariableCaseElement other = (VariableCaseElement) obj; - if (varDef == null) { - if (other.varDef != null) - return false; - } else if (!varDef.equals(other.varDef)) - return false; - if (varName == null) { - if (other.varName != null) - return false; - } else if (!varName.equals(other.varName)) - return false; - return true; - } - - @Override - public String toString() { - if (type == ElementType.VARDEF) { - return String.format("{%s:=%s}", varName, varDef); - } else { - return String.format("{%s=%s}", varName, varDef); - } - } -} -- cgit v1.2.3