# Copyright (c) PARRRATE T&V 2021. All rights reserved. from bu4.parsing.codes import CODE_NAME from bu4.parsing.constructs.pname import PName from bu4.parsing.extensions.extension import Extension from bu4.parsing.states.parsestate import ParseState from bu4.parsing.states.psafter import PSAfter from bu4.parsing.states.psfinal import PSFinal __all__ = ('XName',) class XName(Extension, code=CODE_NAME): def apply(self, state: PSAfter) -> ParseState: state.state = PSFinal(PName(self.parser.parse_name())) return state