Пример #1
0
 def visitExp3(self, ctx: MPParser.Exp3Context):
     op = ""
     if ctx.DIVOP(): op = ctx.DIVOP().getText()
     elif ctx.MULOP(): op = ctx.MULOP().getText()
     elif ctx.DIV(): op = ctx.DIV().getText()
     elif ctx.MOD(): op = ctx.MOD().getText()
     elif ctx.AND(): op = ctx.AND().getText()
     else: return self.visit(ctx.exp4())
     return BinaryOp(op, self.visit(ctx.exp3()), self.visit(ctx.exp4()))
Пример #2
0
 def visitExp3(self, ctx: MPParser.Exp3Context):
     if ctx.DIVOP():
         return BinaryOp('/', self.visit(ctx.exp3()),
                         self.visit(ctx.exp4()))
     elif ctx.MULOP():
         return BinaryOp('*', 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.MODOP():
         return BinaryOp(ctx.MODOP().getText(), self.visit(ctx.exp3()),
                         self.visit(ctx.exp4()))
     elif ctx.ANDOP():
         return BinaryOp(ctx.ANDOP().getText(), self.visit(ctx.exp3()),
                         self.visit(ctx.exp4()))
     else:
         return self.visit(ctx.exp4())
Пример #3
0
 def visitExp3(self, ctx: MPParser.Exp3Context):
     if ctx.exp3():
         if ctx.DIVISION():
             return BinaryOp(ctx.DIVISION().getText(),
                             self.visit(ctx.exp3()), self.visit(ctx.exp4()))
         elif ctx.MUL():
             return BinaryOp(ctx.MUL().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.AND():
             return BinaryOp(ctx.AND().getText(), self.visit(ctx.exp3()),
                             self.visit(ctx.exp4()))
         elif ctx.MOD():
             return BinaryOp(ctx.MOD().getText(), self.visit(ctx.exp3()),
                             self.visit(ctx.exp4()))
         else:
             return BinaryOp("Unknown", self.visit(ctx.exp3()),
                             self.visit(ctx.exp4()))
     else:
         return self.visit(ctx.exp4())