مفسر (برمجة)

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

  • تجزئة الشيفرة المصدرية وتنفيذها مباشرةً؛
  • ترجمة الشيفرة المصدرية إلى لغة وسيطة فعالة وتنفيذها فورًا؛
  • التنفيذ الصريح لشيفرة مخزنة مسبقًا أنشأها مترجمٌ يُعدّ جزءًا من نظام المفسر.

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

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

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.