builtup4/bu4/parsing/extensions/xqopn.py
2021-08-20 05:41:23 +03:00

17 lines
600 B
Python

# Copyright (c) PARRRATE T&V 2021. All rights reserved.
from bu4.parsing.codes import CODE_QOPN, CODE_QCLS
from bu4.parsing.extensions.extension import Extension
from bu4.parsing.states.parsestate import ParseState
from bu4.parsing.states.psafter import PSAfter
from bu4.parsing.targets.pschain import PSChain
from bu4.parsing.targets.psendswith import PSEndsWith
__all__ = ('XQopn',)
class XQopn(Extension, code=CODE_QOPN):
def apply(self, state: PSAfter) -> ParseState:
state.target = PSChain(PSEndsWith(self.parser, CODE_QCLS, 'quot expected'), state.target)
return state