رحلة عميقة في عالم توليد الشيفرة

في علم الحاسوب، يطلق مصطلح توليد الشفرة (بالإنجليزية code generation) على العملية التي يقوم بها المترجم لتحويل الشفرة المصدرية المكتوبة بلغة وسيطة إلى شكل جاهز للتنفيذ من قبل الآلة.

عادةً ما يقوم المترجمون المتطورون بتمريرات متعددة عبر أشكال وسيطة متنوعة.يتم استخدام هذه العملية متعددة المراحل لأن العديد من خوارزميات تحسين التعليمات البرمجية (بالإنجليزية Program optimization )يسهل تطبيقها في وقت واحد، ولأن الإدخال إلى تحسين واحد يعتمد على المعالجة المكتملة التي تم إجراؤها بواسطة تحسين آخر. كما تسهل هذه المنظمة إنشاء مترجم واحد يمكنه استهداف أبنية متعددة، حيث تحتاج آخر مراحل توليد الشفرة (the backend) إلى التغيير من هدف إلى هدف.(لمزيد من المعلومات حول تصميم المترجم، انظر إلى المترجم .)

يتكون الإدخال إلى مولد الشفرة عادةً من شجرة تحليل(بالإنجليزية parse tree) أو شجرة بناء مجردة(بالإنجليزية abstract syntax tree) . يتم تحويل الشجرة إلى تسلسل خطي من التعليمات، عادة في لغة وسيطة مثل شفرة الثلاثة عناوين ( بالإنجليزية Three-address code). مراحل أخرى من التجميع قد أو قد لا يشار إليها باسم «توليد الشفرة»،اعتمادًا على ما إذا كانت تنطوي على تغيير كبير في تمثيل البرنامج.

قراءة المقال الكامل على ويكيبيديا ←