कुछ साल पहले, Rust कोड को कंपाइल करने का एकमात्र तरीका LLVM को बैकएंड के रूप में उपयोग करने वाले rustc कंपाइलर का उपयोग करना था। तब से, mrustc, GCC का Rust समर्थन (gccrs), rust_codegen_gcc और Cranelift सहित कई परियोजनाओं ने Rust के कंपाइलर कार्यान्वयनों में विविधता ला दी है। नवीनतम परियोजना, Eurydice, Rust कोड को स्वच्छ C कोड में बदलने का लक्ष्य रखती है, जो उच्च-विश्वसनीयता वाले सॉफ़्टवेयर में उपयोगी है जहाँ सत्यापन टूल C की अपेक्षा करते हैं।
Eurydice, 2023 में शुरू हुई, Aeneas परियोजना का हिस्सा है, जो Rust कोड पर औपचारिक सत्यापन लागू करने के लिए टूल विकसित करती है। Inria और Microsoft के शोधकर्ताओं द्वारा अनुरक्षित, Eurydice एक मानक कंपाइलर संरचना का पालन करती है: Rust को पार्स करना, IR में बदलना, पास लागू करना और C आउटपुट करना।
अन्य कंपाइलरों के विपरीत, Eurydice Rust-विशिष्ट संरचनाओं को हटाते हुए कोड की संरचना को सुरक्षित रखती है। उदाहरण के लिए, यह लघुत्तम समापवर्त्य फ़ंक्शनों को मूल्यांकन क्रम बनाए रखने के लिए अस्थायी चरों के साथ पठनीय C में कंपाइल करती है। हालाँकि जेनेरिक्स और इटरेटर्स के कारण सभी Rust प्रोग्राम सटीक रूप से अनुवादित नहीं होते, फिर भी Eurydice ऐसे वातावरण के लिए सहज संक्रमण प्रदान करती है जहाँ C कंपाइलर हैं लेकिन Rust समर्थन नहीं है।
इस परियोजना में MIT और Apache-2.0 लाइसेंस के तहत कोड शामिल है और बाहरी योगदान स्वीकार करती है।
स्रोत: Hacker News · HeadlinesBriefing द्वारा सारांशित