Source code for pathex.expressions.nary_operators.union

from pathex.expressions.nary_operators.nary_operator import NAryOperator

__all__ = ['Union']


[docs]class Union(NAryOperator): """This class represents a union of languages. A union of languages is equivalent to the union of the sets. >>> from pathex.expressions.aliases import * >>> exp = U('abcd') >>> assert exp.get_language() == exp.get_generator().get_language() == {'a', 'b', 'c', 'd'} A union may also be constructed by using the | operator. >>> exp = U('ab') | U('cd') >>> assert exp.get_language() == exp.get_generator().get_language() == {'a', 'b', 'c', 'd'} >>> exp = C('ab') | C('cd') >>> assert exp.get_language() == exp.get_generator().get_language() == {'ab', 'cd'} >>> exp = 'a' | ( 'b' + U('cd') ) >>> assert exp.get_language() == exp.get_generator().get_language() == {'a', 'bc', 'bd'} """