示例#1
0
 def visitExpr5(self, ctx: MCParser.Expr5Context):
     if ctx.ADD():
         op = ctx.ADD().getText()
         left = self.visitExpr5(ctx.expr5())
         right = self.visitExpr6(ctx.expr6())
         return BinaryOp(op, left, right)
     elif ctx.SUB():
         op = ctx.SUB().getText()
         left = self.visitExpr5(ctx.expr5())
         right = self.visitExpr6(ctx.expr6())
         return BinaryOp(op, left, right)
     else:
         return self.visitExpr6(ctx.expr6())
示例#2
0
 def visitExpr5(self, ctx: MCParser.Expr5Context):
     if ctx.ADD():
         return BinaryOp('+', self.visit(ctx.expr6()),
                         self.visit(ctx.expr5()))
     elif ctx.SUBNEG():
         return BinaryOp('-', self.visit(ctx.expr6()),
                         self.visit(ctx.expr5()))
     else:
         return self.visit(ctx.expr6())