summaryrefslogtreecommitdiff
path: root/BJC-Utils2/src/main/java/bjc/utils/parserutils
diff options
context:
space:
mode:
authorbculkin2442 <bjculkin@mix.wvu.edu>2016-02-29 10:41:17 -0500
committerbculkin2442 <bjculkin@mix.wvu.edu>2016-02-29 10:41:17 -0500
commit82951e37e10b282d9a7c89f4662990b64949c943 (patch)
treef84770bf755c4d187ef46e137082248c2709fed9 /BJC-Utils2/src/main/java/bjc/utils/parserutils
parent68faea64a4b1ef23acba209ad502e4458eb16290 (diff)
General code cleanup
Diffstat (limited to 'BJC-Utils2/src/main/java/bjc/utils/parserutils')
-rw-r--r--BJC-Utils2/src/main/java/bjc/utils/parserutils/RuleBasedConfigReader.java28
-rw-r--r--BJC-Utils2/src/main/java/bjc/utils/parserutils/ShuntingYard.java25
-rw-r--r--BJC-Utils2/src/main/java/bjc/utils/parserutils/UnknownPragmaException.java19
3 files changed, 42 insertions, 30 deletions
diff --git a/BJC-Utils2/src/main/java/bjc/utils/parserutils/RuleBasedConfigReader.java b/BJC-Utils2/src/main/java/bjc/utils/parserutils/RuleBasedConfigReader.java
index 1190281..d07d725 100644
--- a/BJC-Utils2/src/main/java/bjc/utils/parserutils/RuleBasedConfigReader.java
+++ b/BJC-Utils2/src/main/java/bjc/utils/parserutils/RuleBasedConfigReader.java
@@ -20,12 +20,12 @@ import bjc.utils.funcdata.FunctionalStringTokenizer;
* type of the state object to use
*/
public class RuleBasedConfigReader<E> {
- private Map<String, BiConsumer<FunctionalStringTokenizer, E>> pragmas;
-
private BiConsumer<FunctionalStringTokenizer, Pair<String, E>> startRule;
private BiConsumer<FunctionalStringTokenizer, E> continueRule;
private Consumer<E> endRule;
+ private Map<String, BiConsumer<FunctionalStringTokenizer, E>> pragmas;
+
/**
* Create a new rule-based config reader
*
@@ -43,10 +43,15 @@ public class RuleBasedConfigReader<E> {
this.startRule = startRule;
this.continueRule = continueRule;
this.endRule = endRule;
-
+
this.pragmas = new HashMap<>();
}
+ public void addPragma(String pragName,
+ BiConsumer<FunctionalStringTokenizer, E> pragAct) {
+ pragmas.put(pragName, pragAct);
+ }
+
public E fromStream(InputStream is, E initState) {
Scanner scn = new Scanner(is);
@@ -67,7 +72,7 @@ public class RuleBasedConfigReader<E> {
String nxtToken = stk.nextToken();
if (nxtToken.equals("#")) {
-
+ // Do nothing, this is a comment
} else if (nxtToken.equals("pragma")) {
String tk = stk.nextToken();
@@ -87,16 +92,6 @@ public class RuleBasedConfigReader<E> {
return stat;
}
- public void addPragma(String pragName,
- BiConsumer<FunctionalStringTokenizer, E> pragAct) {
- pragmas.put(pragName, pragAct);
- }
-
- public void setStartRule(
- BiConsumer<FunctionalStringTokenizer, Pair<String, E>> startRule) {
- this.startRule = startRule;
- }
-
public void setContinueRule(
BiConsumer<FunctionalStringTokenizer, E> continueRule) {
this.continueRule = continueRule;
@@ -105,4 +100,9 @@ public class RuleBasedConfigReader<E> {
public void setEndRule(Consumer<E> endRule) {
this.endRule = endRule;
}
+
+ public void setStartRule(
+ BiConsumer<FunctionalStringTokenizer, Pair<String, E>> startRule) {
+ this.startRule = startRule;
+ }
}
diff --git a/BJC-Utils2/src/main/java/bjc/utils/parserutils/ShuntingYard.java b/BJC-Utils2/src/main/java/bjc/utils/parserutils/ShuntingYard.java
index ace636e..8a036ce 100644
--- a/BJC-Utils2/src/main/java/bjc/utils/parserutils/ShuntingYard.java
+++ b/BJC-Utils2/src/main/java/bjc/utils/parserutils/ShuntingYard.java
@@ -19,7 +19,7 @@ import bjc.utils.funcdata.FunctionalList;
*/
public class ShuntingYard<E> {
- private static enum Operator implements IPrecedent {
+ public static enum Operator implements IPrecedent {
ADD(1), DIVIDE(4), MULTIPLY(3), SUBTRACT(2);
private final int precedence;
@@ -39,9 +39,6 @@ public class ShuntingYard<E> {
}
}
- static {
- }
-
/**
* Holds all the shuntable operations
*/
@@ -64,6 +61,16 @@ public class ShuntingYard<E> {
*
* @param tok
* The token representing the operator
+ */
+ public void addOp(String tok, int i) {
+ this.addOp(tok, IPrecedent.newSimplePrecedent(i));
+ }
+
+ /**
+ * Add an operator to the list of shuntable operators
+ *
+ * @param tok
+ * The token representing the operator
* @param prec
* The precedence of the operator
*/
@@ -127,14 +134,4 @@ public class ShuntingYard<E> {
public void removeOp(String tok) {
ops.remove(tok);
}
-
- /**
- * Add an operator to the list of shuntable operators
- *
- * @param tok
- * The token representing the operator
- */
- public void addOp(String tok, int i) {
- this.addOp(tok, IPrecedent.newSimplePrecedent(i));
- }
} \ No newline at end of file
diff --git a/BJC-Utils2/src/main/java/bjc/utils/parserutils/UnknownPragmaException.java b/BJC-Utils2/src/main/java/bjc/utils/parserutils/UnknownPragmaException.java
index fc97a44..88f38d4 100644
--- a/BJC-Utils2/src/main/java/bjc/utils/parserutils/UnknownPragmaException.java
+++ b/BJC-Utils2/src/main/java/bjc/utils/parserutils/UnknownPragmaException.java
@@ -2,11 +2,26 @@ package bjc.utils.parserutils;
import java.util.InputMismatchException;
+/**
+ * Represents a error from encountering a unknown pragma
+ *
+ * @author ben
+ *
+ */
public class UnknownPragmaException extends InputMismatchException {
+ /**
+ * Version id for serialization
+ */
+ private static final long serialVersionUID = -4277573484926638662L;
+
+ /**
+ * Create a new exception with the given cause
+ *
+ * @param m
+ * The cause for throwing this exception
+ */
public UnknownPragmaException(String m) {
super(m);
}
- private static final long serialVersionUID = -4277573484926638662L;
-
}