From 7a510ceb37780a7d0da37117a5cfce23c2919257 Mon Sep 17 00:00:00 2001 From: bculkin2442 Date: Mon, 10 Apr 2017 22:55:22 -0400 Subject: More work on parse blocks --- .../java/bjc/pratt/examples/PrattParserTest.java | 7 ++--- .../java/bjc/pratt/examples/Tokenizer.java | 32 ++++++++-------------- 2 files changed, 15 insertions(+), 24 deletions(-) (limited to 'JPratt/src/examples/java/bjc') 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 addSub = infixLeft(20); parser.addNonInitialCommand("+", addSub); parser.addNonInitialCommand("-", addSub); - parser.addNonInitialCommand("�", addSub); + parser.addNonInitialCommand("\u00B1", addSub); // Unicode plus/minus final NonInitialCommand mulDiv = infixLeft(30); parser.addNonInitialCommand("*", mulDiv); @@ -293,7 +293,6 @@ public class PrattParserTest { final InitialCommand 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> { private final Set ops; private final Set reserved; - private final TestContext ctx; + + @SuppressWarnings("unused") + private final TestContext ctx; public Tokenizer(final Set operators, final Set reservedWords, final TestContext context) { ops = operators; @@ -21,26 +23,16 @@ final class Tokenizer implements Function> { @Override public Token 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); + } } } -- cgit v1.2.3