summaryrefslogtreecommitdiff
path: root/JPratt/src/examples/java/bjc
diff options
context:
space:
mode:
authorbculkin2442 <bjculkin@mix.wvu.edu>2017-04-10 22:55:22 -0400
committerbculkin2442 <bjculkin@mix.wvu.edu>2017-04-10 22:55:22 -0400
commit7a510ceb37780a7d0da37117a5cfce23c2919257 (patch)
treee5f7a796cc6555cdcc5f09d969408f80c79b10e8 /JPratt/src/examples/java/bjc
parent56f07e9a3aaa873fe385d224f088f048dbafa8f7 (diff)
More work on parse blocks
Diffstat (limited to 'JPratt/src/examples/java/bjc')
-rw-r--r--JPratt/src/examples/java/bjc/pratt/examples/PrattParserTest.java7
-rw-r--r--JPratt/src/examples/java/bjc/pratt/examples/Tokenizer.java32
2 files changed, 15 insertions, 24 deletions
diff --git a/JPratt/src/examples/java/bjc/pratt/examples/PrattParserTest.java b/JPratt/src/examples/java/bjc/pratt/examples/PrattParserTest.java
index e504048..7b9feea 100644
--- a/JPratt/src/examples/java/bjc/pratt/examples/PrattParserTest.java
+++ b/JPratt/src/examples/java/bjc/pratt/examples/PrattParserTest.java
@@ -65,7 +65,7 @@ public class PrattParserTest {
ops.addAll(Arrays.asList("||", "&&"));
ops.addAll(Arrays.asList("<=", ">="));
- ops.addAll(Arrays.asList("�"));
+ ops.addAll(Arrays.asList("\u00B1")); // Unicode plus/minus
ops.addAll(Arrays.asList(".", ",", ";", ":"));
ops.addAll(Arrays.asList("=", "<", ">"));
ops.addAll(Arrays.asList("+", "-", "*", "/"));
@@ -95,7 +95,7 @@ public class PrattParserTest {
hi.addSimpleDelimiters("||", "&&");
hi.addSimpleDelimiters("<=", ">=");
- lo.addSimpleDelimiters("�");
+ lo.addSimpleDelimiters("\u00B1"); // Unicode plus/minus
lo.addSimpleDelimiters(".", ",", ";", ":");
lo.addSimpleDelimiters("=", "<", ">");
lo.addSimpleDelimiters("+", "-", "*", "/");
@@ -243,7 +243,7 @@ public class PrattParserTest {
final NonInitialCommand<String, String, TestContext> addSub = infixLeft(20);
parser.addNonInitialCommand("+", addSub);
parser.addNonInitialCommand("-", addSub);
- parser.addNonInitialCommand("�", addSub);
+ parser.addNonInitialCommand("\u00B1", addSub); // Unicode plus/minus
final NonInitialCommand<String, String, TestContext> mulDiv = infixLeft(30);
parser.addNonInitialCommand("*", mulDiv);
@@ -293,7 +293,6 @@ public class PrattParserTest {
final InitialCommand<String, String, TestContext> leaf = leaf();
parser.addInitialCommand("(literal)", leaf);
- parser.addInitialCommand("(vref)", leaf);
parser.addInitialCommand("var", new VarCommand());
diff --git a/JPratt/src/examples/java/bjc/pratt/examples/Tokenizer.java b/JPratt/src/examples/java/bjc/pratt/examples/Tokenizer.java
index 9b3fa74..4f8da12 100644
--- a/JPratt/src/examples/java/bjc/pratt/examples/Tokenizer.java
+++ b/JPratt/src/examples/java/bjc/pratt/examples/Tokenizer.java
@@ -11,7 +11,9 @@ import bjc.pratt.tokens.StringToken;
final class Tokenizer implements Function<String, Token<String, String>> {
private final Set<String> ops;
private final Set<String> reserved;
- private final TestContext ctx;
+
+ @SuppressWarnings("unused")
+ private final TestContext ctx;
public Tokenizer(final Set<String> operators, final Set<String> reservedWords, final TestContext context) {
ops = operators;
@@ -21,26 +23,16 @@ final class Tokenizer implements Function<String, Token<String, String>> {
@Override
public Token<String, String> apply(final String strang) {
- if (ops.contains(strang) || reserved.contains(strang))
+ if (ops.contains(strang) || reserved.contains(strang)) {
return litToken(strang);
- else if (ctx.scopes.top().containsKey(strang))
- return new StringToken("(vref)", strang);
- else if (strang.matches("(?:[\\u00B2\\u00B3\\u00B9\\u2070]|[\\u2074-\\u2079])+")) /*
- * This
- * regular
- * expression
- * matches
- * series
- * of
- * unicode
- * super
- * -
- * scripts
- * 1
- * -
- * 9.
- */
+ } else if (strang.matches("(?:[\\u00B2\\u00B3\\u00B9\\u2070]|[\\u2074-\\u2079])+")) {
+ /*
+ * This regular expression matches series of unicode
+ * super - scripts 1 - 9.
+ */
return new StringToken("(superexp)", strang);
- else return new StringToken("(literal)", strang);
+ } else {
+ return new StringToken("(literal)", strang);
+ }
}
}