Source code for sexpr.types.reference

from ..matcher import Matcher


[docs]class Reference(Matcher): def __init__(self, name, grammar): self.name = name self.grammar = grammar @property def rule(self): return self.grammar.get(self.name, None)
[docs] def matches(self, sexp): return self.rule and self.rule.matches(sexp)
[docs] def pop(self, sexp): return self.rule.pop(sexp) if self.rule else None
def __repr__(self): return '(ref %s ...)' % self.name