Ejemplo n.º 1
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())
Ejemplo n.º 2
0
 def visitExp2(self, ctx: BKITParser.Exp2Context):
     if ctx.getChildCount() == 1: return self.visit(ctx.exp3())
     else:
         if ctx.SUB():
             return BinaryOp(ctx.SUB().getText(), self.visit(ctx.exp2()),
                             self.visit(ctx.exp3()))
         elif ctx.SUBF():
             return BinaryOp(ctx.SUBF().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()))
         else:
             return BinaryOp(ctx.ADDF().getText(), self.visit(ctx.exp2()),
                             self.visit(ctx.exp3()))