def visitExp6(self, ctx:MCParser.Exp6Context): if (ctx.getChildCount() == 1): return self.visit(ctx.exp7()) left = self.visit(ctx.exp6()) right = self.visit(ctx.exp7()) op = ctx.getChild(1).getText() return BinaryOp(op,left,right)
def visitExp6(self, ctx: MCParser.Exp6Context): if ctx.getChildCount() == 3: return BinaryOp( ctx.getChild(1).getText(), self.visit(ctx.exp6()), self.visit(ctx.exp7())) else: return self.visit(ctx.exp7())
def visitExp6(self, ctx:MCParser.Exp6Context): if (ctx.getChildCount() == 1): return self.visit(ctx.exp7()) else: op = ctx.getChild(1).getText() exp6 = self.visit(ctx.exp6()) exp7 = self.visit(ctx.exp7()) return BinaryOp(op,exp6,exp7)
def visitExp6(self, ctx: MCParser.Exp6Context): if ctx.OP_DIV(): return BinaryOp(ctx.OP_DIV().getText(), self.visit(ctx.exp6()), self.visit(ctx.exp7())) elif ctx.OP_MUL(): return BinaryOp(ctx.OP_MUL().getText(), self.visit(ctx.exp6()), self.visit(ctx.exp7())) elif ctx.OP_MOD(): return BinaryOp(ctx.OP_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())
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): '''exp6: ( SUB | NOT ) exp6 | exp7 ;''' if ctx.getChildCount() == 1: return self.visit(ctx.exp7()) else: right = self.visit(ctx.exp6()) op = ctx.SUB().getText() if ctx.SUB() else ctx.NOT().getText() return UnaryOp(op, right)
def visitExp6(self, ctx: MCParser.Exp6Context): return BinaryOp(self.visit(ctx.op6()), self.visit(ctx.exp6()),self.visit(ctx.exp7())) if ctx.getChildCount() == 3 \ else self.visit(ctx.exp7())