コード例 #1
0
 def visitExp2(self,ctx:BKITParser.Exp2Context):
     if ctx.ADD():
         return BinaryOp(
             ctx.ADD().getText(),
             self.visitExp2(ctx.exp2()),
             self.visitExp3(ctx.exp3())
         )
     elif ctx.SUB():
         return BinaryOp(
             ctx.SUB().getText(),
             self.visitExp2(ctx.exp2()),
             self.visitExp3(ctx.exp3())
         )
     elif ctx.ADDDOT():
         return BinaryOp(
             ctx.ADDDOT().getText(),
             self.visitExp2(ctx.exp2()),
             self.visitExp3(ctx.exp3())
         )
     elif ctx.SUBDOT():
         return BinaryOp(
             ctx.SUBDOT().getText(),
             self.visitExp2(ctx.exp2()),
             self.visitExp3(ctx.exp3())
         )
     else:
         return self.visitExp3(ctx.exp3())
コード例 #2
0
 def visitExp2(self,ctx:BKITParser.Exp2Context):
     if ctx.getChildCount() == 3:
         if ctx.SUB():
             return BinaryOp(ctx.SUB().getText(),self.visit(ctx.exp2(),self.visit(ctx.exp3())))
         elif ctx.SUBFLOAT():
             return BinaryOp(ctx.SUBFLOAT().getText(),self.visit(ctx.exp2(),self.visit(ctx.exp3())))
         elif ctx.ADD():
             return BinaryOp(ctx.ADD().getText(),self.visit(ctx.exp2(),self.visit(ctx.exp3())))
         elif ctx.ADDFLOAT():
             return BinaryOp(ctx.ADDFLOAT().getText(),self.visit(ctx.exp2(),self.visit(ctx.exp3())))
     else: return ctx.exp3()
コード例 #3
0
 def visitExp2(self, ctx: BKITParser.Exp2Context):
     if ctx.getChildCount() > 1:
         left = self.visit(ctx.exp2())
         right = self.visit(ctx.exp3())
         if ctx.ADD():
             op = str(ctx.ADD().getText())
         if ctx.ADDF():
             op = str(ctx.ADDF().getText())
         if ctx.SUB():
             op = str(ctx.SUB().getText())
         if ctx.SUBF():
             op = str(ctx.SUBF().getText())
         return BinaryOp(op, left, right)
     else:
         return self.visit(ctx.exp3())