summaryrefslogtreecommitdiff
path: root/JPratt
diff options
context:
space:
mode:
Diffstat (limited to 'JPratt')
-rw-r--r--JPratt/src/examples/java/bjc/pratt/examples/lang/LangEvaluator.java32
-rw-r--r--JPratt/src/examples/java/bjc/pratt/examples/lang/PrattParserTest.java4
-rw-r--r--JPratt/src/examples/java/bjc/pratt/examples/lang/ast/LangAST.java (renamed from JPratt/src/examples/java/bjc/pratt/examples/lang/tokens/LangToken.java)8
-rw-r--r--JPratt/src/examples/java/bjc/pratt/examples/lang/evaluator/EvaluatorException.java13
-rw-r--r--JPratt/src/examples/java/bjc/pratt/examples/lang/evaluator/LangEvaluator.java16
-rw-r--r--JPratt/src/examples/java/bjc/pratt/examples/lang/evaluator/LangResult.java5
6 files changed, 40 insertions, 38 deletions
diff --git a/JPratt/src/examples/java/bjc/pratt/examples/lang/LangEvaluator.java b/JPratt/src/examples/java/bjc/pratt/examples/lang/LangEvaluator.java
deleted file mode 100644
index bf4c8d0..0000000
--- a/JPratt/src/examples/java/bjc/pratt/examples/lang/LangEvaluator.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package bjc.pratt.examples.lang;
-
-import bjc.pratt.examples.lang.tokens.LangToken;
-import bjc.utils.data.ITree;
-
-public class LangEvaluator {
- public static class EvaluatorException extends RuntimeException {
- private static final long serialVersionUID = -8610585421069729811L;
-
- public EvaluatorException(String message, Throwable cause) {
- super(message, cause);
- }
-
- public EvaluatorException(String message) {
- super(message);
- }
- }
-
- public static class LangResult {
-
- }
-
- public LangResult evaluate(ITree<LangToken> ast) {
- ITree<LangToken> evaluatedTree = ast.topDownTransform(LangToken::getEvaluationStrategy, this::evaluateNode);
-
- return evaluatedTree.getHead().toResult();
- }
-
- private ITree<LangToken> evaluateNode(ITree<LangToken> node) {
- return node;
- }
-} \ No newline at end of file
diff --git a/JPratt/src/examples/java/bjc/pratt/examples/lang/PrattParserTest.java b/JPratt/src/examples/java/bjc/pratt/examples/lang/PrattParserTest.java
index 1baff5c..e9b0b1a 100644
--- a/JPratt/src/examples/java/bjc/pratt/examples/lang/PrattParserTest.java
+++ b/JPratt/src/examples/java/bjc/pratt/examples/lang/PrattParserTest.java
@@ -28,7 +28,7 @@ import java.util.function.UnaryOperator;
import bjc.pratt.PrattParser;
import bjc.pratt.commands.InitialCommand;
import bjc.pratt.commands.NonInitialCommand;
-import bjc.pratt.examples.lang.tokens.LangToken;
+import bjc.pratt.examples.lang.ast.LangAST;
import bjc.pratt.tokens.StringToken;
import bjc.pratt.tokens.StringTokenStream;
import bjc.pratt.tokens.Token;
@@ -143,7 +143,7 @@ public class PrattParserTest {
System.out.printf("\nParsed expression:\n%s", rawTree);
- final ITree<LangToken> tokenTree = rawTree.rebuildTree(LangToken::fromToken, LangToken::fromToken);
+ final ITree<LangAST> tokenTree = rawTree.rebuildTree(LangAST::fromToken, LangAST::fromToken);
System.out.printf("\nAST-ized expression:\n%s", tokenTree);
} catch (final ParserException pex) {
diff --git a/JPratt/src/examples/java/bjc/pratt/examples/lang/tokens/LangToken.java b/JPratt/src/examples/java/bjc/pratt/examples/lang/ast/LangAST.java
index 1230430..b5ea551 100644
--- a/JPratt/src/examples/java/bjc/pratt/examples/lang/tokens/LangToken.java
+++ b/JPratt/src/examples/java/bjc/pratt/examples/lang/ast/LangAST.java
@@ -1,13 +1,13 @@
-package bjc.pratt.examples.lang.tokens;
+package bjc.pratt.examples.lang.ast;
-import bjc.pratt.examples.lang.LangEvaluator.LangResult;
+import bjc.pratt.examples.lang.evaluator.LangResult;
import bjc.pratt.tokens.Token;
import bjc.utils.data.TopDownTransformResult;
-public interface LangToken {
+public interface LangAST {
LangResult toResult();
- static LangToken fromToken(Token<String, String> token) {
+ static LangAST fromToken(Token<String, String> token) {
return null;
}
diff --git a/JPratt/src/examples/java/bjc/pratt/examples/lang/evaluator/EvaluatorException.java b/JPratt/src/examples/java/bjc/pratt/examples/lang/evaluator/EvaluatorException.java
new file mode 100644
index 0000000..56fc719
--- /dev/null
+++ b/JPratt/src/examples/java/bjc/pratt/examples/lang/evaluator/EvaluatorException.java
@@ -0,0 +1,13 @@
+package bjc.pratt.examples.lang.evaluator;
+
+public class EvaluatorException extends RuntimeException {
+ private static final long serialVersionUID = -8610585421069729811L;
+
+ public EvaluatorException(String message, Throwable cause) {
+ super(message, cause);
+ }
+
+ public EvaluatorException(String message) {
+ super(message);
+ }
+} \ No newline at end of file
diff --git a/JPratt/src/examples/java/bjc/pratt/examples/lang/evaluator/LangEvaluator.java b/JPratt/src/examples/java/bjc/pratt/examples/lang/evaluator/LangEvaluator.java
new file mode 100644
index 0000000..7ce1939
--- /dev/null
+++ b/JPratt/src/examples/java/bjc/pratt/examples/lang/evaluator/LangEvaluator.java
@@ -0,0 +1,16 @@
+package bjc.pratt.examples.lang.evaluator;
+
+import bjc.pratt.examples.lang.ast.LangAST;
+import bjc.utils.data.ITree;
+
+public class LangEvaluator {
+ public LangResult evaluate(ITree<LangAST> ast) {
+ ITree<LangAST> evaluatedTree = ast.topDownTransform(LangAST::getEvaluationStrategy, this::evaluateNode);
+
+ return evaluatedTree.getHead().toResult();
+ }
+
+ private ITree<LangAST> evaluateNode(ITree<LangAST> node) {
+ return node;
+ }
+} \ No newline at end of file
diff --git a/JPratt/src/examples/java/bjc/pratt/examples/lang/evaluator/LangResult.java b/JPratt/src/examples/java/bjc/pratt/examples/lang/evaluator/LangResult.java
new file mode 100644
index 0000000..06b3471
--- /dev/null
+++ b/JPratt/src/examples/java/bjc/pratt/examples/lang/evaluator/LangResult.java
@@ -0,0 +1,5 @@
+package bjc.pratt.examples.lang.evaluator;
+
+public class LangResult {
+
+} \ No newline at end of file