Выпуск RustPython 0.3, реализации интерпретатора Python на языке Rust

Доступен выпуск проекта RustPython 0.3, развивающего интерпретатор языка программирования Python, написанный на языке Rust и нацеленный на обеспечение совместимости с CPython 3.11 и более новыми выпусками. Проект основал в 2018 году Shing Lyu, один из разработчиков движка Servo и участник перевода CSS-движка Firefox на компоненты, написанные на языке Rust. Для оценки текущего состояния разработки можно использовать web-интерфейс с интерпретатором RustPython, скомпилированным в WebAssembly. Код распространяется под лицензией MIT.

RustPython состоит из парсера кода на Python в абстрактное синтаксическое дерево (AST), компилятора AST в байткод и виртуальной машины для выполнения байткода. Для ускорения выполнения предоставляется начальная реализация JIT-компилятора, преобразующего python-функции в машинный код. Поддерживается компиляция RustPython в представление на WebAssembly, которое может применяться в качестве Python-интерпретатора, работающего в web-браузере.

Проектом также предоставляются средства для интеграции кода на языке Python в проекты на языке Rust без применения биндингов на основе CPython — RustPython позволяет встраивать Python-конструкции непосредственно в код на языке Rust и использовать Python в качестве языка скриптования в приложениях, написанных на Rust. Из проектов, уже использующих RustPython, отмечаются СУБД GreptimeDB, игровой движок pyckitup, игра Robot Rumble и статический анализатор Ruff.



Источник: http://www.opennet.ru/opennews/art.shtml? num=59737

© OpenNet