| @@ -17,12 +17,12 @@ class LexerConf(Serialize): | |||||
| terminals: Collection[TerminalDef] | terminals: Collection[TerminalDef] | ||||
| re_module: ModuleType | re_module: ModuleType | ||||
| ignore: Collection[str] = () | |||||
| postlex: 'Optional[PostLex]' = None | |||||
| callbacks: Dict[str, _Callback] = {} | |||||
| g_regex_flags: int = 0 | |||||
| skip_validation: bool = False | |||||
| use_bytes: bool = False | |||||
| ignore: Collection[str] | |||||
| postlex: 'Optional[PostLex]' | |||||
| callbacks: Dict[str, _Callback] | |||||
| g_regex_flags: int | |||||
| skip_validation: bool | |||||
| use_bytes: bool | |||||
| def __init__(self, terminals: Collection[TerminalDef], re_module: ModuleType, ignore: Collection[str]=(), postlex: 'Optional[PostLex]'=None, callbacks: Optional[Dict[str, _Callback]]=None, g_regex_flags: int=0, skip_validation: bool=False, use_bytes: bool=False): | def __init__(self, terminals: Collection[TerminalDef], re_module: ModuleType, ignore: Collection[str]=(), postlex: 'Optional[PostLex]'=None, callbacks: Optional[Dict[str, _Callback]]=None, g_regex_flags: int=0, skip_validation: bool=False, use_bytes: bool=False): | ||||
| self.terminals = terminals | self.terminals = terminals | ||||
| @@ -3,13 +3,13 @@ from .utils import Serialize | |||||
| ###{standalone | ###{standalone | ||||
| from typing import Optional, Tuple | |||||
| from typing import Optional, Tuple, ClassVar | |||||
| class Symbol(Serialize): | class Symbol(Serialize): | ||||
| __slots__ = ('name',) | __slots__ = ('name',) | ||||
| name: str | name: str | ||||
| is_term: bool = NotImplemented | |||||
| is_term: ClassVar[bool] = NotImplemented | |||||
| def __init__(self, name: str) -> None: | def __init__(self, name: str) -> None: | ||||
| self.name = name | self.name = name | ||||
| @@ -33,7 +33,7 @@ class Symbol(Serialize): | |||||
| class Terminal(Symbol): | class Terminal(Symbol): | ||||
| __serialize_fields__ = 'name', 'filter_out' | __serialize_fields__ = 'name', 'filter_out' | ||||
| is_term = True | |||||
| is_term: ClassVar[bool] = True | |||||
| def __init__(self, name, filter_out=False): | def __init__(self, name, filter_out=False): | ||||
| self.name = name | self.name = name | ||||
| @@ -47,7 +47,7 @@ class Terminal(Symbol): | |||||
| class NonTerminal(Symbol): | class NonTerminal(Symbol): | ||||
| __serialize_fields__ = 'name', | __serialize_fields__ = 'name', | ||||
| is_term = False | |||||
| is_term: ClassVar[bool] = False | |||||
| class RuleOptions(Serialize): | class RuleOptions(Serialize): | ||||
| @@ -13,7 +13,7 @@ from copy import copy | |||||
| from types import ModuleType | from types import ModuleType | ||||
| from typing import ( | from typing import ( | ||||
| TypeVar, Type, Tuple, List, Dict, Iterator, Collection, Callable, Optional, FrozenSet, Any, | TypeVar, Type, Tuple, List, Dict, Iterator, Collection, Callable, Optional, FrozenSet, Any, | ||||
| Pattern as REPattern, TYPE_CHECKING | |||||
| Pattern as REPattern, ClassVar, TYPE_CHECKING | |||||
| ) | ) | ||||
| if TYPE_CHECKING: | if TYPE_CHECKING: | ||||
| @@ -23,8 +23,8 @@ class Pattern(Serialize, ABC): | |||||
| value: str | value: str | ||||
| flags: Collection[str] | flags: Collection[str] | ||||
| raw: Optional[str] = None | |||||
| type: Optional[str] = None | |||||
| raw: Optional[str] | |||||
| type: ClassVar[str] | |||||
| def __init__(self, value: str, flags: Collection[str]=(), raw: Optional[str]=None) -> None: | def __init__(self, value: str, flags: Collection[str]=(), raw: Optional[str]=None) -> None: | ||||
| self.value = value | self.value = value | ||||
| @@ -73,7 +73,7 @@ class Pattern(Serialize, ABC): | |||||
| class PatternStr(Pattern): | class PatternStr(Pattern): | ||||
| __serialize_fields__ = 'value', 'flags' | __serialize_fields__ = 'value', 'flags' | ||||
| type: str = "str" | |||||
| type: ClassVar[str] = "str" | |||||
| def to_regexp(self) -> str: | def to_regexp(self) -> str: | ||||
| return self._get_flags(re.escape(self.value)) | return self._get_flags(re.escape(self.value)) | ||||
| @@ -90,7 +90,7 @@ class PatternStr(Pattern): | |||||
| class PatternRE(Pattern): | class PatternRE(Pattern): | ||||
| __serialize_fields__ = 'value', 'flags', '_width' | __serialize_fields__ = 'value', 'flags', '_width' | ||||
| type: str = "re" | |||||
| type: ClassVar[str] = "re" | |||||
| def to_regexp(self) -> str: | def to_regexp(self) -> str: | ||||
| return self._get_flags(self.value) | return self._get_flags(self.value) | ||||