builtup4/bu4/parsing/targets/psendswith.py
2021-08-01 00:50:02 +03:00

21 lines
686 B
Python

# Copyright (c) PARRRATE T&V 2021. All rights reserved.
from bu4.parsing.abstractparser import AbstractParser
from bu4.parsing.constructs.linked import Parsed
from bu4.parsing.states.parsestate import ParseState
from bu4.parsing.states.psfinal import PSFinal
from bu4.parsing.targets.pstarget import PSTarget
__all__ = ('PSEndsWith',)
class PSEndsWith(PSTarget):
def __init__(self, parser: AbstractParser, expected: int, message: str):
self.parser = parser
self.expected = expected
self.message = message
def given(self, parsed: Parsed) -> ParseState:
assert self.parser.read() == self.expected, self.message
return PSFinal(parsed)