برامج الترجمة – المترجم والمفسّر والمجمّع

علوم الحاسوبالخوارزميات وحل المشكلات15–16 سنة

جارٍ التحميل…

استخدمها مع صفي ✨ خصّصها بالذكاء الاصطناعي الإبلاغ عن مشكلة

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

الدرس: لغات البرمجة وبرامج الترجمة: اللغات عالية المستوى ومنخفضة المستوى، والمترجمات والمفسّرات والمجمّعات وبيئات التطوير المتكاملة

ماذا تعرض

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

طريقة الاستخدام

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

المعاملات القابلة للتغيير

  • التبويب عند البدء الترجمة والتشغيل, IDE
  • برنامج الترجمة المترجم, المفسّر, المجمّع
  • البرنامج تقرير الوقود (تسلسل), مجموع المربعات (حلقة)
  • الخطأ المُدخل بلا خطأ, خطأ نحوي واحد, خطآن نحويان, خطأ منطقي
  • قيمة الإدخال التي يكتبها المستخدم 0–20

أسئلة للاستكشاف

  1. عند وجود خطأين نحويين، لماذا يسرد المترجم الخطأين معًا بينما لا يبلغ المفسّر إلا عن الأول؟
  2. لماذا تعطي قيمة وقود 0 خطأ مع كل برامج الترجمة، مع أن الشيفرة خالية من الأخطاء النحوية؟
  3. بعد ثلاث مرات تشغيل لبرنامج الحلقة، لماذا تكون النسخة المترجمة أسرع بكثير من النسخة المفسّرة؟