示例#1
0
 def visitExpr(self, ctx: MCParser.ExprContext):
     if (ctx.getChildCount() == 3):
         op = ctx.getChild(1).getText()
         left = self.visit(ctx.expr1())
         right = self.visit(ctx.expr())
         return BinaryOp(op, left, right)
     else:
         return self.visit(ctx.expr1())
示例#2
0
 def visitExpr(self, ctx: MCParser.ExprContext):
     if ctx.ASSIGN():
         return BinaryOp('=', self.visit(ctx.expr()),
                         self.visit(ctx.expr1()))
     else:
         return self.visit(ctx.expr1())
示例#3
0
 def visitExpr(self, ctx: MCParser.ExprContext):
     
     return self.visit(ctx.expr1()) if ctx.getChildCount() == 1 else BinaryOp(ctx.ASSIGN().getText(), self.visit(ctx.expr1()), self.visit(ctx.expr()))
示例#4
0
 def visitExpr(self, ctx:MCParser.ExprContext):
     # expr : expr1 ASSIGN expr | expr1;
     return BinaryOp(ctx.ASSIGN().getText(),self.visit(ctx.expr1()),self.visit(ctx.expr())) if ctx.getChildCount() == 3 else self.visit(ctx.expr1())