Product Design, Manufacturing & Innovation Resources
بيت » بنية المترجم ثلاثية المراحل

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

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
– Computer science

يكتب

نظام مجرد

خلل

أساسيات

الاستخدام

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

مقدمات

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

التطبيقات

  • المُجمِّعون الذين يُمكن إعادة استهدافهم (على سبيل المثال، GCC، llvm)
  • التجميع المتبادل لمنصات الأجهزة المختلفة
  • أطر تحسين مستقلة عن اللغة
  • development of new programming languages by only creating a new front end
  • أدوات التحليل الثابتة التي تعمل على التمثيل الوسيط

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

NA

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

  • معيار عالمي للتوافق بين جميع المترجمين
  • نهايات وسطى مدعومة بالذكاء الاصطناعي تتعلم تسلسلات التحسين المثلى
  • نهايات خلفية قابلة للتوصيل للأجهزة التجريبية مثل أجهزة الكمبيوتر البصرية أو أجهزة الكمبيوتر التي تعمل بالحمض النووي
  • واجهات أمامية يمكنها دمج لغات برمجة متعددة داخل ملف مصدر واحد
  • مُجمِّعون تعاونيون في الوقت الفعلي مع IR مشتركين لتطوير الفريق
  • المُجمِّعات التي تُولِّد أوصاف الأجهزة (على سبيل المثال، vhdl) وأكواد الآلة في وقت واحد
  • a ‘compiler marketplace’ for third-party optimization plugins
  • مُجمِّعات ذاتية الاستضافة يمكنها إعادة تجميع نهاياتها الأمامية/الوسطى/الخلفية أثناء التنقل
  • مصححات الأخطاء على مستوى ir التي لا تعتمد على اللغة والهندسة المعمارية
  • المُجمِّعون الذين يستخدمون ir للتنبؤ بالأداء وثغرات الأمان قبل إنشاء الكود
يتعلق بـ: تصميم المترجم، الواجهة الأمامية، الواجهة الوسطى، الواجهة الخلفية، التمثيل الوسيط، IR، التحسين، توليد التعليمات البرمجية، النمطية، GCC، llvm.

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

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

1975-06-01
1980
1980
1980
1982-07-01
1988-06-01
1990
1973
1980
1980
1980
1980
1986-01-01
1990
1990

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

أحدث الإضافات

أهم المنشورات والمقالات

أفضل الأدوات الأصلية

السنة العاشرة عيد

الصور والتنزيلات بالحجم الكامل متاحة فقط، ومجانية تمامًا، للأعضاء المسجلين.