diff options
Diffstat (limited to 'JPratt')
| -rw-r--r-- | JPratt/src/examples/java/bjc/pratt/examples/lang/LangEvaluator.java | 32 | ||||
| -rw-r--r-- | JPratt/src/examples/java/bjc/pratt/examples/lang/PrattParserTest.java | 4 | ||||
| -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.java | 13 | ||||
| -rw-r--r-- | JPratt/src/examples/java/bjc/pratt/examples/lang/evaluator/LangEvaluator.java | 16 | ||||
| -rw-r--r-- | JPratt/src/examples/java/bjc/pratt/examples/lang/evaluator/LangResult.java | 5 |
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 |
