بيت » بنية المترجم ثلاثية المراحل

بنية المترجم ثلاثية المراحل

1980
Programmer working on three-stage compiler structure in a software development office.

عادةً ما يُبنى المُجمِّع الحديث على ثلاث مراحل: الواجهة الأمامية، والوسطى، والخلفية. تُحلِّل الواجهة الأمامية الكود المصدري، وتتحقق من صحته، وتُنشئ تمثيلًا وسيطًا (IR). يُجري الوسطي تحسينات على هذا التمثيل. ثم يُترجم الخلفي التمثيل الوسيط المُحسَّن إلى كود الجهاز المُستهدف لبنية وحدة المعالجة المركزية (CPU) مُحدَّدة.

يوفر هذا التصميم المعياري ثلاثي المراحل فصلاً حاسماً بين الاهتمامات. تعتمد الواجهة الأمامية على اللغة ولكنها مستقلة عن الآلة؛ فهي تفهم قواعد ودلالات لغة معينة مثل C++ أو Rust. مخرجاتها، التمثيل الوسيط (IR)، عبارة عن بنية بيانات مجردة مستقلة عن الآلة، مثل شجرة القواعد المجردة (AST) أو الكود ثلاثي العناوين. هذا يفصل لغة المصدر عن الآلة المستهدفة.

الطرف الأوسط مستقل إلى حد كبير عن اللغة والآلة. فهو يأخذ IR ويطبق سلسلة من عمليات التحسين، مثل إزالة الكود الميت، والطي الثابت، وتحسينات الحلقة. ولأنه يعمل على IR العام، يمكن كتابة هذه التحسينات المعقدة مرة واحدة وتطبيقها على أي لغة يمكن تجميعها إلى IR.

أخيرًا، تعتمد الواجهة الخلفية على الآلة دون أن تعتمد على اللغة. فهي تأخذ IR المُحسّنة وتُجري اختيار التعليمات، وتخصيص السجلات، وجدولة التعليمات لتوليد شيفرة برمجية فعالة لبنية هدف محددة، مثل x86-64 أو ARM. تُمكّن هذه البنية من بناء مُجمّعات تدعم M لغة وN هدفًا من خلال كتابة M واجهة أمامية وN واجهة خلفية، بدلاً من M*N مُجمّع فردي. يُجسّد هذا المبدأ في البنى التحتية الحديثة للمُجمّعات مثل GCC وLLVM.

UNESCO Nomenclature: 1203
- علوم الحاسب الآلي

النوع

النظام التجريدي

الاضطراب

التأسيسية

الاستخدام

الاستخدام الواسع النطاق

السلائف

  • تصميمات المترجم المتجانسة المبكرة
  • concept of abstraction in برمجة engineering
  • تطور اللغات الوسيطة في الأنظمة المبكرة
  • البحث في البرامج المحمولة (على سبيل المثال، نظام p-code)

التطبيقات

  • المُجمِّعون الذين يُمكن إعادة استهدافهم (على سبيل المثال، GCC، llvm)
  • التجميع المتبادل لمنصات الأجهزة المختلفة
  • أطر تحسين مستقلة عن اللغة
  • تطوير لغات برمجة جديدة من خلال إنشاء واجهة أمامية جديدة فقط
  • أدوات التحليل الثابتة التي تعمل على التمثيل الوسيط

براءات الاختراع:

NA

أفكار ابتكارات محتملة

!!مستويات !!! العضوية مطلوبة

يجب أن تكون عضوًا !!! مستويات!!! للوصول إلى هذا المحتوى.

انضم الآن

هل أنت عضو بالفعل؟ سجّل الدخول هنا
Related to: compiler design, front end, middle end, back end, intermediate representation, ir, optimization, code generation, modularity, GCC, llvm.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

متاح للتحديات الجديدة
مهندس ميكانيكي، مشروع، هندسة العمليات أو مدير البحث والتطوير
تطوير المنتج الفعال

متاح لتحدي جديد في غضون مهلة قصيرة.
تواصل معي على LinkedIn
تكامل الإلكترونيات المعدنية والبلاستيكية، التصميم مقابل التكلفة، ممارسات التصنيع الجيدة (GMP)، بيئة العمل، الأجهزة والمواد الاستهلاكية متوسطة إلى عالية الحجم، التصنيع المرن، الصناعات الخاضعة للتنظيم، شهادات CE وFDA، التصميم بمساعدة الحاسوب (CAD)، Solidworks، الحزام الأسود من Lean Sigma، شهادة ISO 13485 الطبية

نحن نبحث عن راعي جديد

 

هل شركتك أو مؤسستك متخصصة في التقنية أو العلوم أو الأبحاث؟
> أرسل لنا رسالة <

احصل على جميع المقالات الجديدة
مجاني، لا يوجد بريد عشوائي، ولا يتم توزيع البريد الإلكتروني ولا إعادة بيعه

أو يمكنك الحصول على عضويتك الكاملة -مجانًا- للوصول إلى جميع المحتويات المحظورة >هنا<

السياق التاريخي

(إذا كان التاريخ غير معروف أو غير ذي صلة، على سبيل المثال "ميكانيكا الموائع"، يتم تقديم تقدير تقريبي لظهوره الملحوظ)

الاختراع والابتكار والمبادئ التقنية ذات الصلة

انتقل إلى الأعلى

قد يعجبك أيضاً