builtup4/bu4/parsing/targets/pslambda.py

16 lines
418 B
Python

from typing import Callable
from bu4.parsing.constructs.linked import Parsed
from bu4.parsing.states.parsestate import ParseState
from bu4.parsing.targets.pstarget import PSTarget
__all__ = ('PSLambda',)
class PSLambda(PSTarget):
def __init__(self, lambda_: Callable[[Parsed], ParseState]):
self.lambda_ = lambda_
def given(self, parsed: Parsed) -> ParseState:
return self.lambda_(parsed)