コード例 #1
0
 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())
コード例 #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()))
コード例 #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()))
コード例 #4
0
 def visitExpr(self, ctx: MPParser.ExprContext):
     #BinaryOp
     #op:string: AND THEN => andthen; OR ELSE => orelse; other => keep it
     #left:Expr
     #right:Expr
     #def __init__(self, op, left, right):
     pass
     if ctx.getChildCount() == 4:
         if ctx.ANDOP() and ctx.THEN():
             return BinaryOp("andthen", self.visit(ctx.expr()),
                             self.visit(ctx.exp0()))
         elif ctx.OROP() and ctx.ELSE():
             return BinaryOp("orelse", self.visit(ctx.expr()),
                             self.visit(ctx.exp0()))
     else:
         return self.visit(ctx.exp0())
コード例 #5
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()))