الفرق بين المرحلة والمرور في المترجم

Anonim

المرحلة مقابل باس في المترجم

بشكل عام، المترجم هو برنامج كمبيوتر يقرأ برنامج مكتوب بلغة واحدة، تسمى لغة المصدر، وترجمها إلى لغة أخرى، والتي تسمى اللغة المستهدفة. تقليديا، كانت لغة المصدر لغة عالية المستوى مثل C ++ وكانت لغة الهدف لغة منخفضة المستوى مثل لغة التجميع. لذلك، في المجمعين العام يمكن أن ينظر إليها على أنها المترجمين التي تترجم من لغة إلى أخرى. تمر والمرحلة هي مصطلحي غالبا ما تستخدم مع المجمعين. عدد مرات مرور المترجم هو عدد المرات التي يذهب فيها المصدر (أو شكل من أشكال تمثيله). يتم تقسيم مترجم إلى أجزاء لراحة البناء. وغالبا ما تستخدم المرحلة لاستدعاء مثل هذا الجزء مستقل واحد من مترجم.

ما هو ممر في مترجم؟

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

كما يوحي اسمها، المجمعين واحد تمرير تجميع في تمريرة واحدة. فمن الأسهل لكتابة مترجم واحد تمريرة وأيضا أنها أداء أسرع من المترجمين تمرير متعددة. لذلك، حتى في الوقت الذي كان لديك قيود الموارد، تم تصميم اللغات بحيث يمكن تجميعها في تمرير واحد (ه. ز. باسكال). من ناحية أخرى، يتكون نموذجي متعدد تمرير مترجم تتكون من عدة مراحل رئيسية. المرحلة الأولى هي الماسح الضوئي (المعروف أيضا باسم محلل المعجمية). الماسح الضوئي يقرأ البرنامج ويحولها إلى سلسلة من الرموز. المرحلة الثانية هي المحلل. فإنه يحول سلسلة من الرموز في شجرة تحليل (أو شجرة بناء مجردة)، الذي يلتقط البنية النحوية للبرنامج. المرحلة التالية هي التي تفسر دلالات البنية النحوية. تتبع مراحل تحسين التعليمات البرمجية ومرحلة توليد التعليمات البرمجية النهائية هذا.

ما هي المرحلة في المجمع؟

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

ما هو الفرق بين المرحلة والمرور في المترجم؟

المرحلة والمرور هما المصطلحان المستخدمان في مجال المجمعين. التمرير هو مرة واحدة مترجم يمر فوق (يمر من خلال) شفرة المصدر أو بعض تمثيل آخر منه. عادة، معظم المبرمجين لديها مرحلتين على الأقل تسمى النهاية الأمامية والنهاية الخلفية، في حين أنها يمكن أن تكون إما تمريرة واحدة أو متعددة تمريرة. يتم استخدام المرحلة لتصنيف المجمعين وفقا للبناء، في حين يستخدم تمرير لتصنيف المجمعين وفقا لكيفية عملها.