示例#1
0
 def visitExpr3(self, ctx: MCParser.Expr3Context):
     if (ctx.getChildCount() == 1):
         return self.visit(ctx.expr4(0))
     else:
         op = ctx.getChild(1).getText()
         left = self.visit(ctx.expr4(0))
         right = self.visit(ctx.expr4(1))
         return BinaryOp(op, left, right)
示例#2
0
 def visitExpr3(self, ctx: MCParser.Expr3Context):
     if ctx.EQ():
         left = self.visitExpr4(ctx.expr4(0))
         right = self.visitExpr4(ctx.expr4(1))
         op = ctx.EQ().getText()
         return BinaryOp(op, left, right)
     elif ctx.NE():
         left = self.visitExpr4(ctx.expr4(0))
         right = self.visitExpr4(ctx.expr4(1))
         op = ctx.NE().getText()
         return BinaryOp(op, left, right)
     else:
         return self.visitExpr4(ctx.expr4(0))
示例#3
0
 def visitExpr3(self, ctx: MCParser.Expr3Context):
     if ctx.EQ():
         return BinaryOp("==", self.visit(ctx.expr4(0)),
                         self.visit(ctx.expr4(1)))
     elif ctx.NEQ():
         return BinaryOp("!=", self.visit(ctx.expr4(0)),
                         self.visit(ctx.expr4(1)))
     else:
         return self.visit(ctx.expr4(0))
示例#4
0
 def visitExpr3(self, ctx: MCParser.Expr3Context):
     return self.visitExpr4(ctx.expr4(0)) if ctx.getChildCount() == 1 else BinaryOp(ctx.EQ().getText() if ctx.EQ() else ctx.NEQ().getText(), self.visit(ctx.expr4(0)), self.visit(ctx.expr4(1)))
示例#5
0
 def visitExpr3(self, ctx:MCParser.Expr3Context):
     # expr3 : expr4 (EQ | NEQ) expr4 | expr4;
     if ctx.getChildCount() == 3:
         return BinaryOp(ctx.getChild(1).getText(),self.visit(ctx.expr4(0)),self.visit(ctx.expr4(1)))
     else:
         return self.visit(ctx.expr4(0))