def visitExp4(self, ctx:MCParser.Exp4Context): if ctx.getChildCount() == 1: return self.visit(ctx.exp5(0)) else: op = ctx.getChild(1).getText() [left, right] = [self.visit(exp) for exp in ctx.exp5()] return BinaryOp(op, left, right)
def visitExp4(self, ctx: MCParser.Exp4Context): if ctx.getChildCount() == 1: return self.visit(ctx.exp5(0)) else: return BinaryOp( ctx.getChild(1).getText(), self.visit(ctx.exp5(0)), self.visit(ctx.exp5(1)))
def visitExp4(self, ctx:MCParser.Exp4Context): if (ctx.getChildCount() == 1): return self.visit(ctx.exp5(0)) left = self.visit(ctx.exp5(0)) right = self.visit(ctx.exp5(1)) op = ctx.getChild(1).getText() return BinaryOp(op,left,right)
def visitExp4(self, ctx:MCParser.Exp4Context): if (ctx.getChildCount() == 1): return self.visit(ctx.exp5(0)) else: op = ctx.getChild(1).getText() exp5 = self.visit(ctx.exp5(0)) exp5_ = self.visit(ctx.exp5(1)) return BinaryOp(op,exp5,exp5_)
def visitExp4(self, ctx: MCParser.Exp4Context): '''exp4: exp4 ( ADD | SUB ) exp5 | exp5 ;''' if ctx.getChildCount() == 1: return self.visit(ctx.exp5()) else: left = self.visit(ctx.exp4()) right = self.visit(ctx.exp5()) op = ctx.ADD().getText() if ctx.ADD() else ctx.SUB().getText() return BinaryOp(op, left, right)
def visitExp4(self, ctx:MCParser.Exp4Context): if ctx.LT(): return BinaryOp(ctx.LT().getText(), self.visitExp5(ctx.exp5(0)), self.visitExp5(ctx.exp5(1))) elif ctx.LE(): return BinaryOp(ctx.LE().getText(), self.visitExp5(ctx.exp5(0)), self.visitExp5(ctx.exp5(1))) elif ctx.GT(): return BinaryOp(ctx.GT().getText(), self.visitExp5(ctx.exp5(0)), self.visitExp5(ctx.exp5(1))) elif ctx.GE(): return BinaryOp(ctx.GE().getText(), self.visitExp5(ctx.exp5(0)), self.visitExp5(ctx.exp5(1))) else: return self.visitExp5(ctx.exp5(0))
def visitExp4(self, ctx: MCParser.Exp4Context): if ctx.LESS(): return BinaryOp("<", self.visit(ctx.exp5(0)), self.visit(ctx.exp5(1))) elif ctx.GREATER(): return BinaryOp(">", self.visit(ctx.exp5(0)), self.visit(ctx.exp5(1))) elif ctx.LESS_EQUAL(): return BinaryOp("<=", self.visit(ctx.exp5(0)), self.visit(ctx.exp5(1))) elif ctx.GREATER_EQUAL(): return BinaryOp(">=", self.visit(ctx.exp5(0)), self.visit(ctx.exp5(1))) else: return self.visit(ctx.exp5(0))
def visitExp4(self, ctx: MCParser.Exp4Context): if ctx.OP_LES(): return BinaryOp(ctx.OP_LES().getText(), self.visit(ctx.exp5(0)), self.visit(ctx.exp5(1))) elif ctx.OP_LEQ(): return BinaryOp(ctx.OP_LEQ().getText(), self.visit(ctx.exp5(0)), self.visit(ctx.exp5(1))) elif ctx.OP_GRE(): return BinaryOp(ctx.OP_GRE().getText(), self.visit(ctx.exp5(0)), self.visit(ctx.exp5(1))) elif ctx.OP_GEQ(): return BinaryOp(ctx.OP_GEQ().getText(), self.visit(ctx.exp5(0)), self.visit(ctx.exp5(1))) else: return self.visit( ctx.exp5(0)) # TODO: find out why you need the index here
def visitExp4(self, ctx: MCParser.Exp4Context): # exp4: exp5 (LESS|LESSEQ|GREA|GREAEQ) exp5 | exp5; if (ctx.LESS()): return BinaryOp(ctx.LESS().getText(), self.visit(ctx.exp5(0)), self.visit(ctx.exp5(1))) elif (ctx.LESSEQ()): return BinaryOp(ctx.LESSEQ().getText(), self.visit(ctx.exp5(0)), self.visit(ctx.exp5(1))) elif (ctx.GREA()): return BinaryOp(ctx.GREA().getText(), self.visit(ctx.exp5(0)), self.visit(ctx.exp5(1))) elif (ctx.GREAEQ()): return BinaryOp(ctx.GREAEQ().getText(), self.visit(ctx.exp5(0)), self.visit(ctx.exp5(1))) else: return self.visit(ctx.exp5(0))
def visitExp4(self, ctx: MCParser.Exp4Context): #exp4: exp5 LT exp5 | exp5 LEQ exp5 | exp5 GT exp5 | exp5 GEQ exp5 | exp5 ; if ctx.LT(): return BinaryOp(ctx.LT().getText(), self.visit(ctx.exp5(0)), self.visit(ctx.exp5(1))) elif ctx.LEQ(): return BinaryOp(ctx.LEQ().getText(), self.visit(ctx.exp5(0)), self.visit(ctx.exp5(1))) elif ctx.GT(): return BinaryOp(ctx.GT().getText(), self.visit(ctx.exp5(0)), self.visit(ctx.exp5(1))) elif ctx.GEQ(): return BinaryOp(ctx.GEQ().getText(), self.visit(ctx.exp5(0)), self.visit(ctx.exp5(1))) else: return self.visit(ctx.exp5(0))
def visitExp4(self, ctx: MCParser.Exp4Context): #exp4: exp5 (LESS|LESSEQUAL|GREATER|GREATEREQUAL) exp5 | exp5; if ctx.getChildCount() == 3: if ctx.LESS(): return BinaryOp(ctx.LESS().getText(), self.visit(ctx.exp5(0)), self.visit(ctx.exp5(1))) if ctx.LESSEQUAL(): return BinaryOp(ctx.LESSEQUAL().getText(), self.visit(ctx.exp5(0)), self.visit(ctx.exp5(1))) if ctx.GREATER(): return BinaryOp(ctx.GREATER().getText(), self.visit(ctx.exp5(0)), self.visit(ctx.exp5(1))) if ctx.GREATEREQUAL(): return BinaryOp(ctx.GREATEREQUAL().getText(), self.visit(ctx.exp5(0)), self.visit(ctx.exp5(1))) else: return self.visit(ctx.exp5(0))
def visitExp4(self, ctx: MCParser.Exp4Context): return BinaryOp(self.visit(ctx.op4()), self.visit(ctx.exp5(0)),self.visit(ctx.exp5(1))) if ctx.getChildCount() == 3 \ else self.visit(ctx.exp5(0))