Exemplo n.º 1
0
 def visitExpr6(self, ctx: MCParser.Expr6Context):
     if (ctx.getChildCount() == 1):
         return self.visit(ctx.expr7())
     else:
         op = ctx.getChild(1).getText()
         left = self.visit(ctx.expr6())
         right = self.visit(ctx.expr7())
         return BinaryOp(op, left, right)
Exemplo n.º 2
0
    def visitExpr6(self, ctx: MCParser.Expr6Context):
        def getOp(ctx):
            if (ctx.DIV()):
                return ctx.DIV().getText()
            if (ctx.MUL()):
                return ctx.MUL().getText()
            if (ctx.MOD()):
                return ctx.MOD().getText()

        return self.visit(ctx.expr7()) if ctx.getChildCount() == 1 else BinaryOp(getOp(ctx), self.visit(ctx.expr6()), self.visit(ctx.expr7()))
Exemplo n.º 3
0
 def visitExpr6(self, ctx: MCParser.Expr6Context):
     if ctx.DIV():
         return BinaryOp('/', self.visit(ctx.expr7()),
                         self.visit(ctx.expr6()))
     if ctx.MUL():
         return BinaryOp('*', self.visit(ctx.expr7()),
                         self.visit(ctx.expr6()))
     if ctx.MOD():
         return BinaryOp('%', self.visit(ctx.expr7()),
                         self.visit(ctx.expr6()))
     else:
         return self.visit(ctx.expr7())
Exemplo n.º 4
0
 def visitExpr6(self, ctx: MCParser.Expr6Context):
     if ctx.MUL():
         op = ctx.MUL().getText()
         left = self.visitExpr6(ctx.expr6())
         right = self.visitExpr7(ctx.expr7())
         return BinaryOp(op, left, right)
     elif ctx.DIV():
         op = ctx.DIV().getText()
         left = self.visitExpr6(ctx.expr6())
         right = self.visitExpr7(ctx.expr7())
         return BinaryOp(op, left, right)
     elif ctx.MOD():
         op = ctx.MOD().getText()
         left = self.visitExpr6(ctx.expr6())
         right = self.visitExpr7(ctx.expr7())
         return BinaryOp(op, left, right)
     else:
         return self.visitExpr7(ctx.expr7())
Exemplo n.º 5
0
 def visitExpr6(self, ctx:MCParser.Expr6Context):
     # expr6 : expr6 (DIV | MUL | MOD) expr7 | expr7;
     if ctx.getChildCount() == 3:
         return BinaryOp(ctx.getChild(1).getText(),self.visit(ctx.expr6()),self.visit(ctx.expr7()))
     else:
         return self.visit(ctx.expr7())