Esempio n. 1
0
 def visitExp3(self,ctx:BKITParser.Exp3Context):
     if ctx.MUL():
         return BinaryOp(
             ctx.MUL().getText(),
             self.visitExp3(ctx.exp3()),
             self.visitExp4(ctx.exp4())
         )
     elif ctx.DIV():
         return BinaryOp(
             ctx.DIV().getText(),
             self.visitExp3(ctx.exp3()),
             self.visitExp4(ctx.exp4())
         )
     elif ctx.MOD():
         return BinaryOp(
             ctx.MOD().getText(),
             self.visitExp3(ctx.exp3()),
             self.visitExp4(ctx.exp4())
         )
     elif ctx.MULDOT():
         return BinaryOp(
             ctx.MULDOT().getText(),
             self.visitExp3(ctx.exp3()),
             self.visitExp4(ctx.exp4())
         )
     elif ctx.DIVDOT():
         return BinaryOp(
             ctx.DIVDOT().getText(),
             self.visitExp3(ctx.exp3()),
             self.visitExp4(ctx.exp4())
         )
     else:
         return self.visitExp4(ctx.exp4())
Esempio n. 2
0
 def visitExp3(self,ctx:BKITParser.Exp3Context):
     if ctx.getChildCount()==3:
         if ctx.MUL():
             return BinaryOp(ctx.MUL().getText(),self.visit(ctx.exp3(),self.visit(ctx.exp4())))
         elif ctx.MULFLOAT():
             return BinaryOp(ctx.MULFLOAT().getText(),self.visit(ctx.exp3(),self.visit(ctx.exp4())))
         elif ctx.DIV():
             return BinaryOp(ctx.DIV().getText(),self.visit(ctx.exp3(),self.visit(ctx.exp4())))
         elif ctx.DIVFLOAT():
             return BinaryOp(ctx.DIVFLOAT().getText(),self.visit(ctx.exp3(),self.visit(ctx.exp4())))
         elif ctx.PERCENT():
             return BinaryOp(ctx.PERCENT().getText(),self.visit(ctx.exp3(),self.visit(ctx.exp4())))
     else:
         return ctx.exp4()
Esempio n. 3
0
 def visitExp3(self, ctx: BKITParser.Exp3Context):
     if ctx.getChildCount() > 1:
         left = self.visit(ctx.exp3())
         right = self.visit(ctx.exp4())
         if ctx.MUL():
             op = str(ctx.MUL().getText())
         if ctx.MULF():
             op = str(ctx.MULF().getText())
         if ctx.DIV():
             op = str(ctx.DIV().getText())
         if ctx.DIVF():
             op = str(ctx.DIVF().getText())
         if ctx.MOD():
             op = str(ctx.MOD().getText())
         return BinaryOp(op, left, right)
     else:
         return self.visit(ctx.exp4())
Esempio n. 4
0
 def visitExp3(self, ctx: BKITParser.Exp3Context):
     if ctx.getChildCount() == 1: return self.visit(ctx.exp4())
     else:
         if ctx.MUL():
             return BinaryOp(ctx.MUL().getText(), self.visit(ctx.exp3()),
                             self.visit(ctx.exp4()))
         elif ctx.MULF():
             return BinaryOp(ctx.MULF().getText(), self.visit(ctx.exp3()),
                             self.visit(ctx.exp4()))
         elif ctx.DIV():
             return BinaryOp(ctx.DIV().getText(), self.visit(ctx.exp3()),
                             self.visit(ctx.exp4()))
         elif ctx.DIVF():
             return BinaryOp(ctx.DIVF().getText(), self.visit(ctx.exp3()),
                             self.visit(ctx.exp4()))
         else:
             return BinaryOp(ctx.MODUL().getText(), self.visit(ctx.exp3()),
                             self.visit(ctx.exp4()))