# 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