@@ -36,7 +36,7 @@ class UnexpectedInput(LarkError): | |||||
pos_in_stream: int | pos_in_stream: int | ||||
state: Any | state: Any | ||||
def get_context(self, text: str, span: int = ...): | |||||
def get_context(self, text: str, span: int = ...) -> str: | |||||
... | ... | ||||
def match_examples( | def match_examples( | ||||
@@ -9,7 +9,7 @@ class Indenter(ABC): | |||||
paren_level: Optional[int] | paren_level: Optional[int] | ||||
indent_level: Optional[List[int]] | indent_level: Optional[List[int]] | ||||
def __init__(self): | |||||
def __init__(self) -> None: | |||||
... | ... | ||||
def handle_NL(self, token: Token) -> Iterator[Token]: | def handle_NL(self, token: Token) -> Iterator[Token]: | ||||
@@ -13,13 +13,9 @@ class Pattern(ABC): | |||||
value: str | value: str | ||||
flags: Collection[str] | flags: Collection[str] | ||||
raw: str | raw: str | ||||
type: str | |||||
def __init__(self, value: str, flags: Collection[str] = ...): | |||||
... | |||||
@property | |||||
@abstractmethod | |||||
def type(self) -> str: | |||||
def __init__(self, value: str, flags: Collection[str] = (), raw: str = None) -> None: | |||||
... | ... | ||||
@abstractmethod | @abstractmethod | ||||
@@ -72,9 +68,9 @@ class TerminalDef: | |||||
pattern: Pattern | pattern: Pattern | ||||
priority: int | priority: int | ||||
def __init__(self, name: str, pattern: Pattern, priority: int = ...): | |||||
def __init__(self, name: str, pattern: Pattern, priority: int = ...) -> None: | |||||
... | ... | ||||
def user_repr(self) -> str: ... | def user_repr(self) -> str: ... | ||||
@@ -88,7 +84,7 @@ class Token(str): | |||||
end_column: int | end_column: int | ||||
end_pos: int | end_pos: int | ||||
def __init__(self, type_: str, value: Any, pos_in_stream: int = None, line: int = None, column: int = None, end_line: int = None, end_column: int = None, end_pos: int = None): | |||||
def __init__(self, type_: str, value: Any, pos_in_stream: int = None, line: int = None, column: int = None, end_line: int = None, end_column: int = None, end_pos: int = None) -> None: | |||||
... | ... | ||||
def update(self, type_: Optional[str] = None, value: Optional[Any] = None) -> Token: | def update(self, type_: Optional[str] = None, value: Optional[Any] = None) -> Token: | ||||
@@ -130,7 +126,7 @@ class TraditionalLexer(Lexer): | |||||
def __init__( | def __init__( | ||||
self, | self, | ||||
conf: LexerConf | conf: LexerConf | ||||
): | |||||
) -> None: | |||||
... | ... | ||||
def build(self) -> None: | def build(self) -> None: | ||||
@@ -158,7 +154,7 @@ class ContextualLexer(Lexer): | |||||
always_accept: Collection[str] = ..., | always_accept: Collection[str] = ..., | ||||
user_callbacks: Dict[str, _Callback] = ..., | user_callbacks: Dict[str, _Callback] = ..., | ||||
g_regex_flags: int = ... | g_regex_flags: int = ... | ||||
): | |||||
) -> None: | |||||
... | ... | ||||
def lex(self, stream: str, get_parser_state: Callable[[], str]) -> Iterator[Token]: | def lex(self, stream: str, get_parser_state: Callable[[], str]) -> Iterator[Token]: | ||||
@@ -14,15 +14,13 @@ class GrammarBuilder: | |||||
global_keep_all_tokens: bool | global_keep_all_tokens: bool | ||||
import_paths: List[Union[str, Callable]] | import_paths: List[Union[str, Callable]] | ||||
def __init__(self, global_keep_all_tokens=..., import_paths=...): ... | |||||
def __init__(self, global_keep_all_tokens: bool = False, import_paths: List[Union[str, Callable]] = None) -> None: ... | |||||
def load_grammar(self, grammar_text: str, grammar_name: str = ..., mangle: Callable[[str], str] = None): ... | |||||
def load_grammar(self, grammar_text: str, grammar_name: str = ..., mangle: Callable[[str], str] = None) -> None: ... | |||||
def do_import(self, dotted_path: Tuple[str, ...], base_path: Optional[str], aliases: Dict[str, str], | def do_import(self, dotted_path: Tuple[str, ...], base_path: Optional[str], aliases: Dict[str, str], | ||||
base_mangle: Callable[[str], str] = None): ... | |||||
base_mangle: Callable[[str], str] = None) -> None: ... | |||||
def get_mangle(self, prefix: str, aliases: Dict[str, str], base_mangle: Callable[[str], str] = None): ... | |||||
def check(self): ... | |||||
def validate(self) -> None: ... | |||||
def build(self) -> Grammar: ... | def build(self) -> Grammar: ... |
@@ -9,7 +9,7 @@ class ParserPuppet(object): | |||||
Accessible via `UnexpectedToken.puppet` (raised by the parser on token error) | Accessible via `UnexpectedToken.puppet` (raised by the parser on token error) | ||||
""" | """ | ||||
def feed_token(self, token: Token): ... | |||||
def feed_token(self, token: Token) -> Any: ... | |||||
def copy(self) -> ParserPuppet: ... | def copy(self) -> ParserPuppet: ... | ||||
@@ -11,7 +11,7 @@ from .lexer import TerminalDef | |||||
class WriteTokensTransformer(Transformer_InPlace): | class WriteTokensTransformer(Transformer_InPlace): | ||||
def __init__(self, tokens: Dict[str, TerminalDef], term_subs): | |||||
def __init__(self, tokens: Dict[str, TerminalDef], Dict[str, Callable[[Symbol], str]] = ...): | |||||
... | ... | ||||
@@ -1,6 +1,6 @@ | |||||
# -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||
from typing import List, Callable, Iterator, Union, Optional, Literal | |||||
from typing import List, Callable, Iterator, Union, Optional, Literal, Any | |||||
from .lexer import TerminalDef | from .lexer import TerminalDef | ||||
class Meta: | class Meta: | ||||
@@ -25,7 +25,7 @@ class Tree: | |||||
data: str, | data: str, | ||||
children: List[Union[str, Tree]], | children: List[Union[str, Tree]], | ||||
meta: Optional[Meta] = None | meta: Optional[Meta] = None | ||||
): | |||||
) -> None: | |||||
... | ... | ||||
def pretty(self, indent_str: str = ...) -> str: | def pretty(self, indent_str: str = ...) -> str: | ||||
@@ -40,7 +40,7 @@ class Tree: | |||||
def expand_kids_by_index(self, *indices: int) -> None: | def expand_kids_by_index(self, *indices: int) -> None: | ||||
... | ... | ||||
def scan_values(self, pred: Callable[[Union[str, Tree]], bool]): | |||||
def scan_values(self, pred: Callable[[Union[str, Tree]], bool]) -> List[str]: | |||||
... | ... | ||||
def iter_subtrees(self) -> Iterator[Tree]: | def iter_subtrees(self) -> Iterator[Tree]: | ||||
@@ -11,7 +11,7 @@ _DECORATED = Union[_FUNC, type] | |||||
class Transformer(ABC, Generic[_T]): | class Transformer(ABC, Generic[_T]): | ||||
def __init__(self, visit_tokens: bool = True): | |||||
def __init__(self, visit_tokens: bool = True) -> None: | |||||
... | ... | ||||
def transform(self, tree: Tree) -> _T: | def transform(self, tree: Tree) -> _T: | ||||
@@ -24,7 +24,7 @@ class Transformer(ABC, Generic[_T]): | |||||
class TransformerChain(Generic[_T]): | class TransformerChain(Generic[_T]): | ||||
transformers: Tuple[Transformer[_T], ...] | transformers: Tuple[Transformer[_T], ...] | ||||
def __init__(self, *transformers: Transformer[_T]): | |||||
def __init__(self, *transformers: Transformer[_T]) -> None: | |||||
... | ... | ||||
def transform(self, tree: Tree) -> _T: | def transform(self, tree: Tree) -> _T: | ||||
@@ -75,7 +75,8 @@ _InterMethod = Callable[[Type[Interpreter], _T], _R] | |||||
def v_args( | def v_args( | ||||
inline: bool = False, | inline: bool = False, | ||||
meta: bool = False, | meta: bool = False, | ||||
tree: bool = False | |||||
tree: bool = False, | |||||
wrapper: Callable = None | |||||
) -> Callable[[_DECORATED], _DECORATED]: | ) -> Callable[[_DECORATED], _DECORATED]: | ||||
... | ... | ||||
@@ -11,6 +11,7 @@ from copy import copy | |||||
class Pattern(Serialize): | class Pattern(Serialize): | ||||
raw = None | raw = None | ||||
type = None | |||||
def __init__(self, value, flags=(), raw=None): | def __init__(self, value, flags=(), raw=None): | ||||
self.value = value | self.value = value | ||||
@@ -30,6 +31,12 @@ class Pattern(Serialize): | |||||
def to_regexp(self): | def to_regexp(self): | ||||
raise NotImplementedError() | raise NotImplementedError() | ||||
def min_width(self): | |||||
raise NotImplementedError() | |||||
def max_width(self): | |||||
raise NotImplementedError() | |||||
if Py36: | if Py36: | ||||
# Python 3.6 changed syntax for flags in regular expression | # Python 3.6 changed syntax for flags in regular expression | ||||
def _get_flags(self, value): | def _get_flags(self, value): | ||||
@@ -44,6 +51,7 @@ class Pattern(Serialize): | |||||
return value | return value | ||||
class PatternStr(Pattern): | class PatternStr(Pattern): | ||||
__serialize_fields__ = 'value', 'flags' | __serialize_fields__ = 'value', 'flags' | ||||
@@ -1016,7 +1016,7 @@ class GrammarBuilder: | |||||
return name, exp, params, opts | return name, exp, params, opts | ||||
def load_grammar(self, grammar_text, grammar_name="<?>", mangle=None, dotted_path=None): | |||||
def load_grammar(self, grammar_text, grammar_name="<?>", mangle=None): | |||||
tree = _parse_grammar(grammar_text, grammar_name) | tree = _parse_grammar(grammar_text, grammar_name) | ||||
imports = {} | imports = {} | ||||
@@ -1093,7 +1093,7 @@ class GrammarBuilder: | |||||
continue | continue | ||||
else: | else: | ||||
gb = GrammarBuilder(self.global_keep_all_tokens, self.import_paths) | gb = GrammarBuilder(self.global_keep_all_tokens, self.import_paths) | ||||
gb.load_grammar(text, joined_path, mangle, dotted_path) | |||||
gb.load_grammar(text, joined_path, mangle) | |||||
gb._remove_unused(map(mangle, aliases)) | gb._remove_unused(map(mangle, aliases)) | ||||
for name in gb._definitions: | for name in gb._definitions: | ||||
if name in self._definitions: | if name in self._definitions: | ||||