def visitExpr(self, ctx:MPParser.ExprContext):
     if ctx.AND():
         return BinaryOp("andthen", self.visit(ctx.expr()), self.visit(ctx.exp1()))
     elif ctx.OR():
         return BinaryOp("orelse", self.visit(ctx.expr()), self.visit(ctx.exp1()))
     else:
         return self.visit(ctx.exp1())
Esempio n. 2
0
 def visitExpr(self, ctx: MPParser.ExprContext):
     if ctx.getChildCount() == 1:
         return self.visit(ctx.expr1())
     if ctx.AND() and ctx.THEN():
         return BinaryOp("andthen", self.visit(ctx.expr()),
                         self.visit(ctx.expr1()))
     elif ctx.OR() and ctx.ELSE():
         return BinaryOp("orelse", self.visit(ctx.expr()),
                         self.visit(ctx.expr1()))
Esempio n. 3
0
 def visitExpr(self, ctx: MPParser.ExprContext):
     if ctx.getChildCount() == 1:
         return self.visit(ctx.exp1())
     if ctx.AND():
         return BinaryOp('andthen', self.visit(ctx.expr()),
                         self.visit(ctx.exp1()))
     if ctx.OR():
         return BinaryOp('orelse', self.visit(ctx.expr()),
                         self.visit(ctx.exp1()))
Esempio n. 4
0
 def visitExpr(self, ctx: MPParser.ExprContext):
     if ctx.getChildCount() == 1:
         return self.visit(ctx.expr1())
     else:
         if ctx.AND() and ctx.THEN():
             op = "andthen"
         else:
             op = "orelse"
         return BinaryOp(op, self.visit(ctx.expr()),
                         self.visit(ctx.expr1()))