HeadlinesBriefing HeadlinesBriefing.com

Eurydice يحوّل Rust إلى C قابل للقراءة

Hacker News •
×

قبل بضع سنوات، كانت الطريقة الوحيدة لترجمة شيفرة Rust هي استخدام المترجم rustc مع LLVM كخلفية. ومنذ ذلك الحين، نوّعت عدة مشاريع تطبيقات مترجمات Rust، ومنها mrustc ودعم Rust في GCC (gccrs) وrust_codegen_gcc وCranelift. أما أحدث هذه المشاريع، 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