def visitExpr4(self, ctx: MCParser.Expr4Context): if (ctx.getChildCount() == 1): return self.visit(ctx.expr5(0)) else: left = self.visit(ctx.expr5(0)) right = self.visit(ctx.expr5(1)) op = ctx.getChild(1).getText() return BinaryOp(op, left, right)
def visitExpr4(self, ctx: MCParser.Expr4Context): def getOp(ctx): if (ctx.LESS()): return ctx.LESS().getText() if (ctx.LESSEQ()): return ctx.LESSEQ().getText() if (ctx.GREATER()): return ctx.GREATER().getText() if (ctx.GREATEREQ()): return ctx.GREATEREQ().getText() return self.visit(ctx.expr5(0)) if ctx.getChildCount() == 1 else BinaryOp(getOp(ctx), self.visit(ctx.expr5(0)), self.visit(ctx.expr5(1)))
def visitExpr4(self, ctx: MCParser.Expr4Context): if ctx.LESS(): return BinaryOp('<', self.visit(ctx.expr5(0)), self.visit(ctx.expr5(1))) elif ctx.LESSEQ(): return BinaryOp("<=", self.visit(ctx.expr5(0)), self.visit(ctx.expr5(1))) elif ctx.GREATER(): return BinaryOp('>', self.visit(ctx.expr5(0)), self.visit(ctx.expr5(1))) elif ctx.GREATEREQ(): return BinaryOp(">=", self.visit(ctx.expr5(0)), self.visit(ctx.expr5(1))) else: return self.visit(ctx.expr5(0))
def visitExpr4(self, ctx: MCParser.Expr4Context): if ctx.LT(): left = self.visitExpr5(ctx.expr5(0)) right = self.visitExpr5(ctx.expr5(1)) op = ctx.LT().getText() return BinaryOp(op, left, right) elif ctx.LE(): left = self.visitExpr5(ctx.expr5(0)) right = self.visitExpr5(ctx.expr5(1)) op = ctx.LE().getText() return BinaryOp(op, left, right) elif ctx.GT(): left = self.visitExpr5(ctx.expr5(0)) right = self.visitExpr5(ctx.expr5(1)) op = ctx.GT().getText() return BinaryOp(op, left, right) elif ctx.GE(): left = self.visitExpr5(ctx.expr5(0)) right = self.visitExpr5(ctx.expr5(1)) op = ctx.GE().getText() return BinaryOp(op, left, right) else: return self.visitExpr5(ctx.expr5(0))
def visitExpr4(self, ctx:MCParser.Expr4Context): # expr4 : expr5 (LESS | LEQ | GRATER | GEQ) expr5 | expr5; if ctx.getChildCount() == 3: return BinaryOp(ctx.getChild(1).getText(),self.visit(ctx.expr5(0)),self.visit(ctx.expr5(1))) else: return self.visit(ctx.expr5(0))