17 lines
546 B
Python
17 lines
546 B
Python
# 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
|