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

24 lines
620 B
Python

# Copyright (c) PARRRATE T&V 2021. All rights reserved.
from bu4.parsing.abstractparser import AbstractParser
from bu4.parsing.states.parsestate import ParseState
from bu4.parsing.states.psafter import PSAfter
__all__ = ('Extension',)
class Extension:
code: int
def __init_subclass__(cls, /, code: int = None, **kwargs):
super().__init_subclass__(**kwargs)
if code is None:
raise TypeError
cls.code = code
def __init__(self, parser: AbstractParser):
self.parser = parser
def apply(self, state: PSAfter) -> ParseState:
raise NotImplementedError