'Implementation of | operator - returns C{L{MatchFirst}}'

def __or__(self, other):

    if isinstance(other, basestring):
        other = ParserElement.literalStringClass(other)
    if (not isinstance(other, ParserElement)):
        warnings.warn(('Cannot    combine    element    of    type    %s    with    ParserElement' % type(other)), SyntaxWarning, stacklevel=2)
        return None
    return MatchFirst([self, other])
