예제 #1
0
 def visitExp1(self, ctx:MCParser.Exp1Context):
     if (ctx.getChildCount() == 1):
         return self.visit(ctx.exp2())
     left = self.visit(ctx.exp1())
     right = self.visit(ctx.exp2())
     op = ctx.OR().getText()
     return BinaryOp(op,left,right)
예제 #2
0
 def visitExp1(self, ctx: MCParser.Exp1Context):
     #exp1: exp1 OR exp2 | exp2;
     if ctx.getChildCount() == 3:
         return BinaryOp(ctx.OR().getText(), self.visit(ctx.exp1()),
                         self.visit(ctx.exp2()))
     else:
         return self.visit(ctx.exp2())
예제 #3
0
 def visitExp1(self, ctx: MCParser.Exp1Context):
     if ctx.OR():
         return BinaryOp(ctx.OR().getText(), self.visit(ctx.exp1()),
                         self.visit(ctx.exp2()))
     return self.visit(ctx.exp2())
예제 #4
0
 def visitExp1(self, ctx: MCParser.Exp1Context):
     #exp1: exp1 OR exp2 | exp2;
     return BinaryOp(ctx.OR().getText(), self.visit(ctx.exp1()),
                     self.visit(ctx.exp2())) if ctx.OR() else self.visit(
                         ctx.exp2())
예제 #5
0
 def visitExp1(self, ctx: MCParser.Exp1Context):
     if ctx.OR():
         return BinaryOp("||", self.visit(ctx.exp1()),
                         self.visit(ctx.exp2()))
     else:
         return self.visit(ctx.exp2())