mirror of
https://github.com/python/cpython.git
synced 2025-12-31 04:23:37 +00:00
This commit replaces the Python implementation of the tokenize module with an implementation that reuses the real C tokenizer via a private extension module. The tokenize module now implements a compatibility layer that transforms tokens from the C tokenizer into Python tokenize tokens for backward compatibility. As the C tokenizer does not emit some tokens that the Python tokenizer provides (such as comments and non-semantic newlines), a new special mode has been added to the C tokenizer mode that currently is only used via the extension module that exposes it to the Python layer. This new mode forces the C tokenizer to emit these new extra tokens and add the appropriate metadata that is needed to match the old Python implementation. Co-authored-by: Pablo Galindo <pablogsal@gmail.com> |
||
|---|---|---|
| .. | ||
| action_helpers.c | ||
| asdl.py | ||
| asdl_c.py | ||
| myreadline.c | ||
| parser.c | ||
| peg_api.c | ||
| pegen.c | ||
| pegen.h | ||
| pegen_errors.c | ||
| Python.asdl | ||
| string_parser.c | ||
| string_parser.h | ||
| token.c | ||
| tokenizer.c | ||
| tokenizer.h | ||