File tree Expand file tree Collapse file tree
src/main/java/expr_parser/visitors Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11package expr_parser .visitors ;
22
3- import java .util .Map ;
4-
53import parser .LEMSExpressionParser ;
64
7- public class ComparisonEvalVisitor extends ContextEvalVisitor {
5+ public class ComparisonEvalVisitor extends EvalVisitor {
86
97 private boolean isTrue ;
108
119 public boolean isTrue () {
1210 return isTrue ;
1311 }
1412
15- public ComparisonEvalVisitor (Map <String , Double > context ) {
16- super (context );
13+ @ Override
14+ public Value visitTernary (LEMSExpressionParser .TernaryContext ctx ) {
15+ if (visit (ctx .logic ()).asBoolean ())
16+ return new Value (visit (ctx .expression (0 )).asDouble ());
17+ else
18+ return new Value (visit (ctx .expression (1 )).asDouble ());
1719 }
1820
21+ @ Override
1922 public Value visitAnd (LEMSExpressionParser .AndContext ctx ) {
2023 Value left = visit (ctx .logic (0 ));
2124 Value right = visit (ctx .logic (1 ));
2225 return new Value (left .asBoolean () && right .asBoolean ());
2326
2427 }
2528
26- public Value visitOr (LEMSExpressionParser .AndContext ctx ) {
29+ @ Override
30+ public Value visitOr (LEMSExpressionParser .OrContext ctx ) {
2731 Value left = visit (ctx .logic (0 ));
2832 Value right = visit (ctx .logic (1 ));
2933 return new Value (left .asBoolean () || right .asBoolean ());
You can’t perform that action at this time.
0 commit comments