示例#1
0
 def visitExp3(self, ctx: MCParser.Exp3Context):
     if (ctx.getChildCount() == 1):
         return self.visit(ctx.getChild(0))
     else:
         return BinaryOp(
             ctx.getChild(1).getText(), self.visit(ctx.exp4(0)),
             self.visit(ctx.exp4(1)))
示例#2
0
 def visitExp3(self, ctx:MCParser.Exp3Context):
     if (ctx.getChildCount() == 1):
         return self.visit(ctx.exp4(0))
     left = self.visit(ctx.exp4(0))
     right = self.visit(ctx.exp4(1))
     op = ctx.getChild(1).getText()
     return BinaryOp(op,left,right)
示例#3
0
 def visitExp3(self, ctx:MCParser.Exp3Context):
     if (ctx.getChildCount() == 1):
         return self.visit(ctx.exp4(0))
     else:
         op = ctx.getChild(1).getText()
         exp4 = self.visit(ctx.exp4(0))
         exp4_ = self.visit(ctx.exp4(1))
         return BinaryOp(op,exp4,exp4_)
示例#4
0
 def visitExp3(self, ctx: MCParser.Exp3Context):
     if ctx.OP_EQ():
         return BinaryOp(ctx.OP_EQ().getText(), self.visit(ctx.exp4(0)),
                         self.visit(ctx.exp4(1)))
     elif ctx.OP_NEQ():
         return BinaryOp(ctx.OP_NEQ().getText(), self.visit(ctx.exp4(0)),
                         self.visit(ctx.exp4(1)))
     else:
         return self.visit(
             ctx.exp4(0))  # TODO: find out why you need the index here
示例#5
0
 def visitExp3(self, ctx: MCParser.Exp3Context):
     # exp3: exp4 (EQ|NOTEQ) exp4 | exp4;
     if (ctx.EQ()):
         return BinaryOp(ctx.EQ().getText(), self.visit(ctx.exp4(0)),
                         self.visit(ctx.exp4(1)))
     elif (ctx.NOTEQ()):
         return BinaryOp(ctx.NOTEQ().getText(), self.visit(ctx.exp4(0)),
                         self.visit(ctx.exp4(1)))
     else:
         return self.visit(ctx.exp4(0))
示例#6
0
 def visitExp3(self, ctx:MCParser.Exp3Context):
     if ctx.EQUAL():
         return BinaryOp(ctx.EQUAL().getText(), self.visitExp4(ctx.exp4(0)), self.visitExp4(ctx.exp4(1)))
     elif ctx.NOT_EQUAL():
         return BinaryOp(ctx.NOT_EQUAL().getText(), self.visitExp4(ctx.exp4(0)), self.visitExp4(ctx.exp4(1)))
     else:
         return self.visitExp4(ctx.exp4(0))
 def visitExp3(self, ctx: MCParser.Exp3Context):
     #exp3: exp4 (EQUAL | NOTEQUAL) exp4 | exp4;
     if ctx.getChildCount() == 3:
         if ctx.EQUAL():
             return BinaryOp(ctx.EQUAL().getText(), self.visit(ctx.exp4(0)),
                             self.visit(ctx.exp4(1)))
         else:
             return BinaryOp(ctx.NOTEQUAL().getText(),
                             self.visit(ctx.exp4(0)),
                             self.visit(ctx.exp4(1)))
     else:
         return self.visit(ctx.exp4(0))
 def visitExp3(self, ctx:MCParser.Exp3Context):
     if ctx.EQUAL_OP():
         op = ctx.EQUAL_OP().getText()
         [left, right] = [self.visit(exp) for exp in ctx.exp4()]
         return BinaryOp(op, left, right)
     elif ctx.NOT_EQUAL_OP():
         op = ctx.NOT_EQUAL_OP().getText()
         [left,right] = [self.visit(exp) for exp in ctx.exp4()]
         return BinaryOp(op, left, right)
     else:
         return self.visit(ctx.exp4(0))
示例#9
0
 def visitExp3(self, ctx: MCParser.Exp3Context):
     if ctx.getChildCount() == 1:
         return self.visit(ctx.exp4(0))
     else:
         return BinaryOp(self.visit(ctx.eq_and_not()),
                         self.visit(ctx.exp4(0)), self.visit(ctx.exp4(1)))
示例#10
0
 def visitExp3(self, ctx: MCParser.Exp3Context):
     return BinaryOp(
         ctx.getChild(1).getText(), self.visit(ctx.exp4(0)),
         self.visit(ctx.exp4(1))) if ctx.exp4(1) else self.visit(
             ctx.exp4(0))
示例#11
0
 def visitExp3(self, ctx: MCParser.Exp3Context):
     '''exp3: exp4 ( LT | LTE | GT | GTE ) exp4 | exp4 ;'''
     if ctx.getChildCount() == 1:
         return self.visit(ctx.exp4(0))
     else:
         left = self.visit(ctx.exp4(0))
         right = self.visit(ctx.exp4(1))
         if ctx.LT(): op = ctx.LT().getText()
         elif ctx.LTE(): op = ctx.LTE().getText()
         elif ctx.GT(): op = ctx.GT().getText()
         else: op = ctx.GTE().getText()
         return BinaryOp(op, left, right)
示例#12
0
 def visitExp3(self, ctx: MCParser.Exp3Context):
     if ctx.getChildCount() == 1:
         return self.visit(ctx.exp4(0))
     op = ctx.getChild(1).getText()
     return BinaryOp(op, self.visit(ctx.exp4(0)), self.visit(ctx.exp4(1)))