Exemplo n.º 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)
Exemplo n.º 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)))
Exemplo n.º 3
0
 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))
Exemplo n.º 4
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))
Exemplo n.º 5
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))