Вышел crustc: компилятор Rust переписали на C, получив 46 млн строк кода

Вышел crustc: компилятор Rust переписали на C, получив 46 млн строк кода

Состоялся выпуск открытого проекта crustc. Это компилятор для языка Rust, полученный автоматической трансляцией кода официального компилятора rustc (nightly-версия 1.98.0) на язык C.

Проект опубликован в открытом доступе. Итоговый код на C насчитывает около 46 миллионов строк. Для сборки используются компилятор GCC и утилита make, что позволяет обойтись без инструментария Rust.

Идея crustc — продемонстрировать возможность переноса компилятора Rust на платформы, где затруднительно запустить сам rustc. Получившийся код можно изучать, модифицировать и адаптировать.

Разработка основана на методе трансляции, при котором исходный код на Rust преобразуется в эквивалентный код на C. Такой подход упрощает поддержку для нетривиальных архитектур.

На данный момент crustc находится на ранней стадии. Проект может быть полезен для ретрокомпьютинга, встраиваемых систем и других сред, куда сложно портировать стандартный компилятор.

Исходные тексты доступны на GitHub. Разработчики приглашают сообщество к тестированию и доработке.