def visitExp6(self, ctx:MCParser.Exp6Context): if ctx.DIV(): return BinaryOp(ctx.DIV().getText(), self.visitExp6(ctx.exp6()), self.visitExp7(ctx.exp7())) elif ctx.MUL(): return BinaryOp(ctx.MUL().getText(), self.visitExp6(ctx.exp6()), self.visitExp7(ctx.exp7())) elif ctx.MOD(): return BinaryOp(ctx.MOD().getText(), self.visitExp6(ctx.exp6()), self.visitExp7(ctx.exp7())) else: return self.visitExp7(ctx.exp7())
def visitExp6(self, ctx: MCParser.Exp6Context): # exp6: exp6 (DIV|MUL|MOD) exp7 | exp7; if (ctx.DIV()): return BinaryOp(ctx.DIV().getText(), self.visit(ctx.exp6()), self.visit(ctx.exp7())) elif (ctx.MUL()): return BinaryOp(ctx.MUL().getText(), self.visit(ctx.exp6()), self.visit(ctx.exp7())) elif (ctx.MOD()): return BinaryOp(ctx.MOD().getText(), self.visit(ctx.exp6()), self.visit(ctx.exp7())) else: return self.visit(ctx.exp7())
def visitExp6(self, ctx: MCParser.Exp6Context): if ctx.DIV(): return BinaryOp("/", self.visit(ctx.exp6()), self.visit(ctx.exp7())) if ctx.MUL(): return BinaryOp("*", self.visit(ctx.exp6()), self.visit(ctx.exp7())) if ctx.MOD(): return BinaryOp("%", self.visit(ctx.exp6()), self.visit(ctx.exp7())) else: return self.visit(ctx.exp7())