Há alguns anos, a única forma de compilar código Rust era usar o compilador rustc com o LLVM como backend. Desde então, vários projetos, incluindo o mrustc, o suporte a Rust do GCC (gccrs), o rust_codegen_gcc e o Cranelift, diversificaram as implementações de compiladores de Rust. O projeto mais recente, o Eurydice, visa converter código Rust em código C limpo, útil em software de alta garantia onde as ferramentas de verificação esperam C.
Iniciado em 2023, o Eurydice faz parte do projeto Aeneas, que desenvolve ferramentas para aplicar verificação formal ao código Rust. Mantido por pesquisadores da Inria e da Microsoft, o Eurydice segue uma estrutura de compilador padrão: analisa Rust, converte para IR, aplica passes e gera C.
Diferentemente de outros compiladores, o Eurydice preserva a estrutura do código ao mesmo tempo em que remove construções exclusivas de Rust. Por exemplo, ele compila funções de mínimo múltiplo comum para C legível, com variáveis temporárias que mantêm a ordem de avaliação. Embora nem todos os programas Rust sejam traduzidos fielmente por causa de genéricos e iteradores, o Eurydice oferece uma transição mais suave para ambientes com compiladores C, mas sem suporte a Rust.
O projeto inclui código sob as licenças MIT e Apache-2.0 e aceita contribuições externas.
Fonte: Hacker News · Resumido por HeadlinesBriefing