Source code for sexpr.types.alternative

from ..matcher import Matcher


[docs]class Alternative(Matcher): def __init__(self, terms): self.terms = terms
[docs] def matches(self, sexp): return any(t.matches(sexp) for t in self.terms)
[docs] def pop(self, sexp): for t in self.terms: rest = t.pop(sexp) if rest != None: return rest
def __repr__(self): return '(alt %s)' % self.terms