builtup4/bu4/parsing/constructs/pname.py
2021-08-01 01:17:46 +03:00

18 lines
551 B
Python

# Copyright (c) PARRRATE T&V 2021. All rights reserved.
__all__ = ('PName',)
from bu4.linking.constructs.lname import LName
from bu4.linking.states.linkingfinished import LinkingFinished
from bu4.linking.states.linkingstate import LinkingState
from bu4.parsing.constructs.parsed import Parsed
class PName(Parsed):
def __init__(self, name: bytes):
self.name = name
def link(self, promise: set[bytes]) -> LinkingState:
assert self.name in promise, f'undefined: {self.name}'
return LinkingFinished(LName(self.name))