mirror of
https://github.com/astral-sh/ruff
synced 2026-01-10 08:04:26 -05:00
2d1f69cbb9e331bd7b29253e7f101b47d92bcbff
This removes the ASDL code generation in favor of handwriting the AST. The motivations for moving away from the ASDL are: * CPython compatibility is no longer a goal * The ASDL grammar isn't as expressive as we would like * The codegen scripts have a high complexity which makes extensions time consuming * We don't make heavy use of code generation (compared to e.g. RustPython that generates Pyo3 bindings, a fold implementation etc). We may want to revisit a grammar based code generation in the future, e.g. by using [ungrammar](https://github.com/rust-analyzer/ungrammar)
RustPython parser as a library
This project is forked from RustPython project. The parser is one of the core part of RustPython and Ruff project.
We try to keep these crates as a well-packaged library for more potential users.
Projects
- RustPython is a Python interpreter
- Ruff is an extremely fast Python linter
- Pylyzer is a static code analyzer / language server for Python
- Baembal is a Python package to accelerate
ast.parse
Languages
Rust
96.1%
Python
2.6%
TypeScript
0.9%
RenderScript
0.2%
Shell
0.1%