from bu4.parsing.constructs.linked import Parsed from bu4.parsing.states.parsestate import ParseState from bu4.parsing.states.psafter import PSAfter from bu4.parsing.targets.pstarget import PSTarget __all__ = ('PSChain',) class PSChain(PSTarget): def __init__(self, target: PSTarget, aftertarget: PSTarget): self.target = target self.aftertarget = aftertarget def given(self, parsed: Parsed) -> ParseState: return PSAfter(self.target.given(parsed), self.aftertarget)