أخباربرمجةمقالات

ما هو الفرق بين المترجم والمفسر ؟ Compiler vs Interpreter

المترجم Compiler والمفسر Interpreter في واقع الأمر عبارة عن برنامجين يقومان بنفس الغرض، والمتمثل في تحويل الأوامر المكتوبة بإحدى لغات البرمجة العالية المستوى (high level language) من قبيل Java و#C و++C، إلى لغة الآلة Machine Language (أوامر مكتوبة بالبيانات الثنائية Binary Data أي سلاسل من الأصفار والوحدات).

⁦▫️⁩إذاً وإن كان لهما نفس الدور، فلماذا يوجد مترجم “Compiler” ومفسر “Interpreter” ولماذا لا يوجد أحدهما فقط ؟

لنتعرف على أهم الفروق بين البرنامجين، وعلى السبيل الذي يسلكه كلاهما من أجل تحويل التعليمات والأوامر العالية المستوى (والتي تسمى أيضاً البرنامج المصدري Source Program) إلى أوامر مكتوبة بلغة الآلة.

Difference between Compiler and Interpreter - TutorialsMate


🔸 المترجم Compiler :

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


🔸 المفسر Interpreter :

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


مقالات ذات صلة

زر الذهاب إلى الأعلى