ScholarGate
المساعد

المُصرِّفات والتنفيذ

يعمل بناء المصرِّفات وتطبيق اللغات على تحويل البرامج عالية المستوى إلى شيفرة قابلة للتنفيذ، ويشمل ذلك التحليل والترجمة والتحسين ودعم وقت التشغيل.

اعثر على موضوع باستخدام PaperMindقريبًاFind papers & topics
Tools & resources
تنزيل الشرائح
Learn & explore
فيديوقريبًا

Definition

يشمل بناء المصرِّفات وتطبيق اللغات التقنيات اللازمة لترجمة البرامج المكتوبة بلغة المصدر إلى شكل يمكن تنفيذه بكفاءة، بالإضافة إلى البنية التحتية لوقت التشغيل المطلوبة لدعم هذا التنفيذ.

Scope

يغطي هذا المجال هندسة ونظرية تطبيق لغات البرمجة: التحليل المعجمي والنحوي، التحليل الدلالي، التمثيلات الوسيطة، توليد الشيفرة وتحسينها، وأنظمة وقت التشغيل، والآلات الافتراضية، ومديري الذاكرة التي تدعم التنفيذ. ويتناول كلاً من الترجمة المسبقة (ahead-of-time) والترجمة الفورية (just-in-time) والتفاعل بين تصميم اللغة والتنفيذ الفعال.

Sub-topics

Core questions

  • كيف يتم تحويل نص المصدر إلى شيفرة تنفيذية فعالة؟
  • ما هي التمثيلات الوسيطة التي تدعم التحليل والتحسين على أفضل وجه؟
  • كيف تحافظ التحسينات على معنى البرنامج مع تحسين الأداء؟
  • ما هو دعم وقت التشغيل وإدارة الذاكرة الذي تتطلبه اللغة؟

Key theories

خط أنابيب المصرِّف الكلاسيكي
ينظم كتاب Dragon Book عملية الترجمة إلى مراحل (التحليل المعجمي، التحليل النحوي، التحليل الدلالي، الشيفرة الوسيطة، التحسين، توليد الشيفرة)، مما يرسخ البنية المعمارية القياسية للمصرِّفات الحديثة.
البنية التحتية للمصرِّفات القابلة لإعادة الاستخدام (LLVM)
قدم Lattner و Adve إطار عمل للمصرِّفات مبنيًا حول تمثيل وسيط مُحدد النوع يدعم التحليل والتحويل عبر وقت الترجمة ووقت الربط ووقت التشغيل.
منهجية تصميم المصرِّفات الحديثة
يقدم Appel و Muchnick مقاربات منظمة تعتمد على تدفق البيانات و SSA لبناء مصرِّفات محسِّنة، وتدوين الخوارزميات المستخدمة في سلاسل الأدوات الإنتاجية.

Clinical relevance

تُعد المصرِّفات بنية تحتية أساسية: فصحتها وجودة تحسيناتها تؤثر بشكل مباشر على موثوقية وأداء جميع البرامج تقريبًا. وقد خفضت الأطر القابلة لإعادة الاستخدام مثل LLVM تكلفة بناء لغات جديدة واستهداف أجهزة جديدة.

History

بدأت تقنية المصرِّفات مع المصرِّف المحسِّن للغة Fortran في الخمسينيات. ونضجت نظرية التحليل النحوي الرسمي (LL, LR) وتحليل تدفق البيانات في الستينيات والسبعينيات، وتم تدوينها في كتاب Dragon Book عام 1986. وتقدم شكل التعيين الفردي الثابت (static single assignment form) والتحسينات القوية في التسعينيات، وشهدت الألفية الثالثة ظهور بنى تحتية قابلة لإعادة الاستخدام مثل LLVM والترجمة الفورية واسعة الانتشار.

Debates

الترجمة المسبقة مقابل الترجمة الفورية
يزن المطبقون الترجمة المسبقة، التي تُحمِّل التحسينات مسبقًا وتؤدي إلى بدء تشغيل يمكن التنبؤ به، مقابل الترجمة الفورية، التي يمكنها استغلال ملفات تعريف وقت التشغيل ولكنها تضيف وقت إحماء وتكاليف إضافية لوقت التشغيل.

Key figures

  • Alfred Aho
  • Jeffrey Ullman
  • Andrew Appel
  • Chris Lattner
  • Frances Allen

Related topics

Seminal works

  • aho2006
  • appel1998
  • muchnick1997
  • lattner2004

Frequently asked questions

ما هي المراحل الرئيسية للمصرِّف؟
يقوم المصرِّف النموذجي بالتحليل المعجمي، والتحليل النحوي، والتحليل الدلالي، وتوليد الشيفرة الوسيطة، والتحسين، وتوليد شيفرة الهدف، وغالبًا ما يوصف ذلك بالواجهة الأمامية، والواجهة الوسطى، والواجهة الخلفية.
ما الفرق بين المصرِّف والمفسِّر؟
يقوم المصرِّف بترجمة برنامج إلى شكل آخر (مثل شيفرة الآلة) قبل التنفيذ، بينما يقوم المفسِّر بتنفيذ البرنامج مباشرة؛ وتجمع العديد من الأنظمة الحديثة بين الاثنين، على سبيل المثال عن طريق الترجمة الفورية.

Methods for this concept

Related concepts