def visitShapeOr(self, ctx: ShExDocParser.ShapeOrContext):
if len(ctx.shapeAnd()) > <NUM_LIT:1>:<EOL><INDENT>self.expr = ShapeOr(id=self.label, shapeExprs=[])<EOL>for sa in ctx.shapeAnd():<EOL><INDENT>sep = ShexShapeExpressionParser(self.context)<EOL>sep.visit(sa)<EOL>self.expr.shapeExprs.append(sep.expr)<EOL><DEDENT><DEDENT>else:<EOL><INDENT>self.visit(ctx.shapeAnd(<NUM_LIT:0>))<EOL><DEDENT>
shapeOr: shapeAnd (KW_OR shapeAnd)*