This repo contains code to mirror other repos. It also contains the code that is getting mirrored.
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

78 rindas
2.0 KiB

  1. # -*- coding: utf-8 -*-
  2. from typing import (
  3. TypeVar, Type, List, Dict, IO, Iterator, Callable, Union, Optional,
  4. Literal, Protocol,
  5. )
  6. from .visitors import Transformer
  7. from .lexer import Token, Lexer, TerminalDef
  8. from .tree import Tree
  9. _T = TypeVar('_T')
  10. class PostLex(Protocol):
  11. def process(self, stream: Iterator[Token]) -> Iterator[Token]:
  12. ...
  13. class LarkOptions:
  14. start: List[str]
  15. parser: str
  16. lexer: str
  17. transformer: Optional[Transformer]
  18. postlex: Optional[PostLex]
  19. ambiguity: str
  20. regex: bool
  21. debug: bool
  22. keep_all_tokens: bool
  23. propagate_positions: bool
  24. maybe_placeholders: bool
  25. lexer_callbacks: Dict[str, Callable[[Token], Token]]
  26. cache: Union[bool, str]
  27. g_regex_flags: int
  28. use_bytes: bool
  29. class Lark:
  30. source: str
  31. grammar_source: str
  32. options: LarkOptions
  33. lexer: Lexer
  34. terminals: List[TerminalDef]
  35. def __init__(
  36. self,
  37. grammar: Union[str, IO[str]],
  38. *,
  39. start: Union[None, str, List[str]] = "start",
  40. parser: Literal["earley", "lalr", "cyk"] = "auto",
  41. lexer: Union[Literal["auto", "standard", "contextual", "dynamic", "dynamic_complete"], Lexer] = "auto",
  42. transformer: Optional[Transformer] = None,
  43. postlex: Optional[PostLex] = None,
  44. ambiguity: Literal["explicit", "resolve"] = "resolve",
  45. regex: bool = False,
  46. debug: bool = False,
  47. keep_all_tokens: bool = False,
  48. propagate_positions: bool = False,
  49. maybe_placeholders: bool = False,
  50. lexer_callbacks: Optional[Dict[str, Callable[[Token], Token]]] = None,
  51. cache: Union[bool, str] = False,
  52. g_regex_flags: int = ...,
  53. use_bytes: bool = False,
  54. ):
  55. ...
  56. def parse(self, text: str, start: Optional[str] = None) -> Tree:
  57. ...
  58. @classmethod
  59. def open(cls: Type[_T], grammar_filename: str, rel_to: Optional[str] = None, **options) -> _T:
  60. ...
  61. def lex(self, text: str) -> Iterator[Token]:
  62. ...
  63. def get_terminal(self, name: str) -> TerminalDef:
  64. ...