From 84cbd1087b081e821d68c13675e86de3a2e6664a Mon Sep 17 00:00:00 2001 From: Karl Heinz Marbaise Date: Fri, 10 May 2024 01:49:51 +0200 Subject: [PATCH] Enhanced. --- .../soebes/rpn/grammar/ExpressionVisitor.java | 6 +++--- .../rpn/grammar/ExpressionVisitorTest.java | 2 +- .../expression/ast/BinaryExpression.java | 16 ---------------- .../com/soebes/expression/ast/Operator.java | 18 ++++++++++++++++++ .../expression/grammar/ExpressionVisitor.java | 8 ++++---- .../grammar/ExpressionVisitorTest.java | 8 ++++---- .../soebes/expression/runtime/RuntimeTest.java | 8 ++++---- 7 files changed, 34 insertions(+), 32 deletions(-) create mode 100644 simple-expression/ast/src/main/java/com/soebes/expression/ast/Operator.java diff --git a/rpn/src/main/java/com/soebes/rpn/grammar/ExpressionVisitor.java b/rpn/src/main/java/com/soebes/rpn/grammar/ExpressionVisitor.java index 523b28c..2106aa4 100644 --- a/rpn/src/main/java/com/soebes/rpn/grammar/ExpressionVisitor.java +++ b/rpn/src/main/java/com/soebes/rpn/grammar/ExpressionVisitor.java @@ -49,7 +49,7 @@ public Programm visitGRPUNARY(ExprParser.GRPUNARYContext ctx) { @Override public Programm visitComplexVector(ExprParser.ComplexVectorContext ctx) { - ctx.complex().stream().forEach(s -> System.out.println( + ctx.complex().forEach(s -> System.out.println( "s.realPart() = {" + s.realPart().getText() + " " + s.imagPart().getText() + "}")); super.visitComplexVector(ctx); return null; @@ -57,8 +57,8 @@ public Programm visitComplexVector(ExprParser.ComplexVectorContext ctx) { @Override public Programm visitRealVector(ExprParser.RealVectorContext ctx) { - ctx.REAL().stream().forEach(s -> System.out.println("s.() = {" + s.getText() + "}")); - ctx.REAL().stream().forEach(s -> System.out.println("s.getText() = " + s.getSymbol())); + ctx.REAL().forEach(s -> System.out.println("s.() = {" + s.getText() + "}")); + ctx.REAL().forEach(s -> System.out.println("s.getText() = " + s.getSymbol())); System.out.println("ctx = " + ctx.REAL()); super.visitRealVector(ctx); return null; diff --git a/rpn/src/test/java/com/soebes/rpn/grammar/ExpressionVisitorTest.java b/rpn/src/test/java/com/soebes/rpn/grammar/ExpressionVisitorTest.java index dcc8fe3..c2de4b4 100644 --- a/rpn/src/test/java/com/soebes/rpn/grammar/ExpressionVisitorTest.java +++ b/rpn/src/test/java/com/soebes/rpn/grammar/ExpressionVisitorTest.java @@ -37,7 +37,7 @@ class ExpressionVisitorTest { static Stream createExpressionToParse() { return Stream.of( // arguments("Real", "3.13", 3.13) -// arguments("Complex", "(3.13,1.0)", 3.13) + arguments("Complex", "(3.13,1.0)", 3.13), arguments("Real Vector", "[1 2 3 4]", 3.13) // arguments("Complex Vector", "[(1,0) (2,0) (3,0) (4,0)]", 3.13) ); diff --git a/simple-expression/ast/src/main/java/com/soebes/expression/ast/BinaryExpression.java b/simple-expression/ast/src/main/java/com/soebes/expression/ast/BinaryExpression.java index 4f45ea6..c3fd006 100644 --- a/simple-expression/ast/src/main/java/com/soebes/expression/ast/BinaryExpression.java +++ b/simple-expression/ast/src/main/java/com/soebes/expression/ast/BinaryExpression.java @@ -1,21 +1,5 @@ package com.soebes.expression.ast; public record BinaryExpression(Operator operator, Expression left, Expression right) implements Expression { - public enum Operator { - ADD("+"), - SUB("-"), - MUL("*"), - DIV("/"); - private final String value; - - Operator(String value) { - this.value = value; - } - - @Override - public String toString() { - return value; - } - } } diff --git a/simple-expression/ast/src/main/java/com/soebes/expression/ast/Operator.java b/simple-expression/ast/src/main/java/com/soebes/expression/ast/Operator.java new file mode 100644 index 0000000..4a5cd81 --- /dev/null +++ b/simple-expression/ast/src/main/java/com/soebes/expression/ast/Operator.java @@ -0,0 +1,18 @@ +package com.soebes.expression.ast; + +public enum Operator { + ADD("+"), + SUB("-"), + MUL("*"), + DIV("/"); + private final String value; + + Operator(String value) { + this.value = value; + } + + @Override + public String toString() { + return value; + } +} diff --git a/simple-expression/expression/src/main/java/com/soebes/expression/grammar/ExpressionVisitor.java b/simple-expression/expression/src/main/java/com/soebes/expression/grammar/ExpressionVisitor.java index ea50b54..b9615af 100644 --- a/simple-expression/expression/src/main/java/com/soebes/expression/grammar/ExpressionVisitor.java +++ b/simple-expression/expression/src/main/java/com/soebes/expression/grammar/ExpressionVisitor.java @@ -24,10 +24,10 @@ import com.soebes.expression.ast.Expression; import org.antlr.v4.runtime.Token; -import static com.soebes.expression.ast.BinaryExpression.Operator.ADD; -import static com.soebes.expression.ast.BinaryExpression.Operator.DIV; -import static com.soebes.expression.ast.BinaryExpression.Operator.MUL; -import static com.soebes.expression.ast.BinaryExpression.Operator.SUB; +import static com.soebes.expression.ast.Operator.ADD; +import static com.soebes.expression.ast.Operator.DIV; +import static com.soebes.expression.ast.Operator.MUL; +import static com.soebes.expression.ast.Operator.SUB; public class ExpressionVisitor extends SimpleExpressionBaseVisitor { diff --git a/simple-expression/expression/src/test/java/com/soebes/expression/grammar/ExpressionVisitorTest.java b/simple-expression/expression/src/test/java/com/soebes/expression/grammar/ExpressionVisitorTest.java index e11e790..98d2c93 100644 --- a/simple-expression/expression/src/test/java/com/soebes/expression/grammar/ExpressionVisitorTest.java +++ b/simple-expression/expression/src/test/java/com/soebes/expression/grammar/ExpressionVisitorTest.java @@ -30,10 +30,10 @@ import java.util.stream.Stream; -import static com.soebes.expression.ast.BinaryExpression.Operator.ADD; -import static com.soebes.expression.ast.BinaryExpression.Operator.DIV; -import static com.soebes.expression.ast.BinaryExpression.Operator.MUL; -import static com.soebes.expression.ast.BinaryExpression.Operator.SUB; +import static com.soebes.expression.ast.Operator.ADD; +import static com.soebes.expression.ast.Operator.DIV; +import static com.soebes.expression.ast.Operator.MUL; +import static com.soebes.expression.ast.Operator.SUB; import static org.assertj.core.api.Assertions.assertThat; import static org.junit.jupiter.params.provider.Arguments.arguments; diff --git a/simple-expression/runtime/src/test/java/com/soebes/expression/runtime/RuntimeTest.java b/simple-expression/runtime/src/test/java/com/soebes/expression/runtime/RuntimeTest.java index d2d332e..319a56c 100644 --- a/simple-expression/runtime/src/test/java/com/soebes/expression/runtime/RuntimeTest.java +++ b/simple-expression/runtime/src/test/java/com/soebes/expression/runtime/RuntimeTest.java @@ -29,10 +29,10 @@ import java.util.stream.Stream; -import static com.soebes.expression.ast.BinaryExpression.Operator.ADD; -import static com.soebes.expression.ast.BinaryExpression.Operator.DIV; -import static com.soebes.expression.ast.BinaryExpression.Operator.MUL; -import static com.soebes.expression.ast.BinaryExpression.Operator.SUB; +import static com.soebes.expression.ast.Operator.ADD; +import static com.soebes.expression.ast.Operator.DIV; +import static com.soebes.expression.ast.Operator.MUL; +import static com.soebes.expression.ast.Operator.SUB; import static org.assertj.core.api.Assertions.assertThat; import static org.junit.jupiter.params.provider.Arguments.arguments;