HeadlinesBriefing HeadlinesBriefing.com

Eurydice Menerjemahkan Rust ke C Mudah Dibaca

Hacker News •
×

Beberapa tahun lalu, satu-satunya cara mengompilasi kode Rust adalah dengan menggunakan kompiler rustc dengan LLVM sebagai backend. Sejak itu, beberapa proyek, termasuk mrustc, dukungan Rust di GCC (gccrs), rust_codegen_gcc, dan Cranelift, telah memperkaya implementasi kompiler Rust. Proyek terbaru, Eurydice, bertujuan mengubah kode Rust menjadi kode C yang bersih, yang berguna dalam perangkat lunak berjaminan tinggi tempat alat verifikasi membutuhkan C.

Dimulai pada 2023, Eurydice merupakan bagian dari proyek Aeneas, yang mengembangkan alat untuk menerapkan verifikasi formal pada kode Rust. Dikelola oleh peneliti dari Inria dan Microsoft, Eurydice mengikuti struktur kompiler standar: mengurai Rust, mengonversi ke IR, menerapkan pass, dan menghasilkan C.

Berbeda dengan kompiler lain, Eurydice mempertahankan struktur kode sambil menghapus konstruksi khusus Rust. Misalnya, ia mengompilasi fungsi kelipatan persekutuan terkecil menjadi C yang mudah dibaca dengan variabel sementara untuk menjaga urutan evaluasi. Meskipun tidak semua program Rust dapat diterjemahkan secara akurat karena generik dan iterator, Eurydice menawarkan transisi yang lebih mulus bagi lingkungan yang memiliki kompiler C tetapi tidak mendukung Rust.

Proyek ini mencakup kode di bawah lisensi MIT dan Apache-2.0 dan menerima kontribusi dari luar.

Sumber: Hacker News · Diringkas oleh HeadlinesBriefing