builtup4/bu4/parsing/targets/pschain.py

16 lines
503 B
Python

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)