Esempio n. 1
0
 def visitExpr1(self, ctx: MCParser.Expr1Context):
     if ctx.OR():
         op = ctx.OR().getText()
         left = self.visitExpr1(ctx.expr1())
         right = self.visitExpr2(ctx.expr2())
         return BinaryOp(op, left, right)
     else:
         return self.visitExpr2(ctx.expr2())
Esempio n. 2
0
 def visitExpr1(self, ctx: MCParser.Expr1Context):
     if (ctx.getChildCount() == 3):
         op = ctx.getChild(1).getText()
         left = self.visit(ctx.expr1())
         right = self.visit(ctx.expr2())
         return BinaryOp(op, left, right)
     else:
         return self.visit(ctx.expr2())
Esempio n. 3
0
 def visitExpr1(self, ctx: MCParser.Expr1Context):
     if ctx.LOGICOR():
         return BinaryOp("||", self.visit(ctx.expr2()),
                         self.visit(ctx.expr1()))
     else:
         return self.visit(ctx.expr2())
Esempio n. 4
0
 def visitExpr1(self, ctx: MCParser.Expr1Context):
     return self.visit(ctx.expr2()) if ctx.getChildCount() == 1 else BinaryOp(ctx.OR().getText(), self.visit(ctx.expr1()), self.visit(ctx.expr2()))
Esempio n. 5
0
 def visitExpr1(self, ctx:MCParser.Expr1Context):
     # expr1 : expr1 OR expr2 | expr2;
     return BinaryOp(ctx.OR().getText(),self.visit(ctx.expr1()),self.visit(ctx.expr2())) if ctx.getChildCount() == 3 else self.visit(ctx.expr2())