示例#1
0
 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)
示例#2
0
    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)))
示例#3
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))