Ejemplo n.º 1
0
 def visitExp(self, ctx: BKITParser.ExpContext):
     if ctx.getChildCount() > 1:
         left = self.visit(ctx.exp1()[0])
         right = self.visit(ctx.exp1()[1])
         if ctx.EQ():
             op = str(ctx.EQ().getText())
         if ctx.LTE():
             op = str(ctx.LTE().getText())
         if ctx.GTE():
             op = str(ctx.GTE().getText())
         if ctx.NEQ():
             op = str(ctx.NEQ().getText())
         if ctx.LT():
             op = str(ctx.LT().getText())
         if ctx.GT():
             op = str(ctx.GT().getText())
         if ctx.LTEF():
             op = str(ctx.LTEF().getText())
         if ctx.GTEF():
             op = str(ctx.GTEF().getText())
         if ctx.NEQF():
             op = str(ctx.NEQF().getText())
         if ctx.LTF():
             op = str(ctx.LTF().getText())
         if ctx.GTF():
             op = str(ctx.GTF().getText())
         return BinaryOp(op, left, right)
     else:
         return self.visit(ctx.exp1()[0])
Ejemplo n.º 2
0
 def visitExp(self, ctx: BKITParser.ExpContext):
     if ctx.getChildCount() == 1:
         return self.visitChildren(ctx)
     elif ctx.EQ():
         op = "=="
     elif ctx.getChild(1) == ctx.NOEQ():
         op = "!="
     elif ctx.getChild(1) == ctx.LESS():
         op = "<"
     elif ctx.getChild(1) == ctx.GREAT():
         op = ">"
     elif ctx.getChild(1) == ctx.LEEQ():
         op = "<="
     elif ctx.getChild(1) == ctx.GREQ():
         op = ">="
     elif ctx.getChild(1) == ctx.NOEQF():
         op = "=/="
     elif ctx.getChild(1) == ctx.LEF():
         op = "<."
     elif ctx.getChild(1) == ctx.GRF():
         op = ">."
     elif ctx.getChild(1) == ctx.LEQF():
         op = "<=."
     elif ctx.getChild(1) == ctx.GEQF():
         op = ">=."
     return BinaryOp(op, self.visit(ctx.exp()), self.visit(ctx.exp1()))