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

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

 

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

 

 


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

🔸 المترجم Compiler والمفسر Interpreter في واقع الأمر عبارة عن برنامجين يقومان بنفس الغرض، والمتمثل في تحويل الأوامر المكتوبة بإحدى لغات البرمجة العالية المستوى (high level language) من قبيل Java و#C و++C، إلى لغة الآلة Machine Language (أوامر مكتوبة بالبيانات الثنائية Binary Data أي سلاسل من الأصفار والوحدات).
▫️⁩إذاً وإن كان لهما نفس الدور، فلماذا يوجد مترجم "Compiler" ومفسر "Interpreter" ولماذا لا يوجد أحدهما فقط ؟
🔸 لنتعرف على أهم الفروق بين البرنامجين، وعلى السبيل الذي يسلكه كلاهما من أجل تحويل التعليمات والأوامر العالية المستوى (والتي تسمى أيضاً البرنامج المصدري Source Program) إلى أوامر مكتوبة بلغة الآلة.

🔸 المترجم Compiler :

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

🔸 المفسر Interpreter :

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

⚙️ أهم الفروقات بشكل مختصر :👨‍🏫😍🤗

🔸 الـ Compiler
🔹 يقوم بتحليل البرنامج وترجمته كاملاً.
🔹 التنفيذ سريع جداً.
🔹 يكتشف الأخطاء بعد تحليل البرنامج بالكامل.
🔸 اللغات التي تستخدم الـ Compiler
🔹 لـغـة ++C و # C و Java ...
🔸 الـ Interpreter
🔹 يقوم بتحليل البرنامج سطراً سطر من الكود المصدري.
🔹 أبطء بالتنفيذ.
🔹 يسهل تتبع الأخطاء، لأنه يتوقف عند الخطأ مباشرة.
🔸 اللغات التي تستخدم الـ Interpreter
🔹 لـغـة Python و PHP ...
🔸 اسأل الله المولى ان قد وفقنا في افادتكم في هذه المعلومات المفيدة 👨‍🏫
🔸 وفق الله الجميع💜

 

Comments