العرضar

Inside Radix

Radix compiler#

راديكس هو مصرف Faber. وهو صندوق خاص (radix/) ينفذ خط أنابيب الترجمة الكامل من النص المصدر إلى خلفيات الهدف.

خط الأنابيب#

يُخفض راديكس مصدر Faber عبر ثلاثة تمثيلات وسيطة:

  1. HIR (تمثيل وسيط عالي المستوى) — النواة الدلالية. يعمل هنا دمج لغة القارئ، وفحص الأنواع، وخلفيات HIR المباشرة.
  2. MIR (تمثيل وسيط متوسط المستوى) — التمثيل الوسيط ذو الشكل التنفيذي. هذا هو حدود الملكية الدلالية حيث يعمل تحليل الاستعارة والتأثير.
  3. AIR (تمثيل وسيط للتفاضل الآلي) — تحويل دالي صرف للتفاضل الآلي والدمج، يُستخدم عبر مسارات هدف GPU.

مسارات الهدف#

المسارIRالمُخرَجالحالة
زمن تشغيل CPUMIRFMIR (زمن تشغيل Rust)مُشغَّل
LLVMMIRنص LLVMتجريبي
WASMMIRنص WebAssemblyتجريبي
TypeScriptHIRمصدر TypeScriptتجريبي
GoHIRمصدر Goتجريبي
GPU/WGSLAIRWGSL عبر WGPUتجريبي

المعمارية#

يتبنى راديكس نهج انبعاث النص بدلاً من تضمين LLVM. تُنتج خلفيات الهدف نصاً بلغاتها الخاصة، ثم يُجمع هذا النص بواسطة سلسلة أدوات الهدف نفسها. هذا يُبقي المصرف قائماً بذاته ويجعل مُخرَج الهدف قابلاً للقراءة البشرية.

التشخيصات#

يُصدر راديكس رموز تشخيص مهيكلة بمعرفات مستقرة:

  • LEX0xx — أخطاء المحلل المعجمي
  • PARSE0xx — أخطاء المحلل النحوي
  • SEM0xx — أخطاء التحليل الدلالي
  • DEFER0xx — ميزات مؤجلة (نحو سليم، لم تُنفذ بعد)

يمكن شرح كل تشخيص عبر faber explain <code>.

Radix compiler architecture#

Translation status: This page is currently available in English.

Read the English Radix compiler architecture reference.