(
grammar_file: str, verbose_tokenizer: bool = False, verbose_parser: bool = False
)
| 239 | |
| 240 | |
| 241 | def build_parser( |
| 242 | grammar_file: str, verbose_tokenizer: bool = False, verbose_parser: bool = False |
| 243 | ) -> tuple[Grammar, Parser, Tokenizer]: |
| 244 | with open(grammar_file) as file: |
| 245 | tokenizer = Tokenizer(tokenize.generate_tokens(file.readline), verbose=verbose_tokenizer) |
| 246 | parser = GrammarParser(tokenizer, verbose=verbose_parser) |
| 247 | grammar = parser.start() |
| 248 | |
| 249 | if not grammar: |
| 250 | raise parser.make_syntax_error(grammar_file) |
| 251 | |
| 252 | return grammar, parser, tokenizer |
| 253 | |
| 254 | |
| 255 | def generate_token_definitions(tokens: IO[str]) -> TokenDefinitions: |
no test coverage detected
searching dependent graphs…