لغة مفسرة اللغات المفسرة واللغات المترجمة
اللغات المفسرة واللغات المترجمة
يمككنا التفريق بين اللغات المفسرة واللغات المترجمة عن طريق المثال البسيط التالي
لنفرض أن لدينا شخص يلقي خطاب باللغة الإنجليزية، هناك طريقتان لترجمة ما يقوله
- إما أن يقوم المترجم بترجمة ما يقوله المتحدث أولاً بأول أي قراءة مقطع بلغته ثم ترجمته وهذا يمثل حالة اللغة المفسرة
- أو أن يقوم المتحدث بإلقاء خطابه كاملاً، ثم يلقي المترجم ترجمة كاملة لهذا الخطاب بعد أن ينهي المتحدث كلامه وهذا يمثل حالة اللغات المترجمة
مميزات لغات البرمجة المفسرة
اللغات المفسرة تعطي مرونة إضافية عن اللغات المترجمة. ومن الميزات التي يكون تنفيذها أسهل في حالة التفسير عنه في حالة الترجمة
- عدم الاعتماد على منصة حاسوب المنصة التي يتم التشغيل عليها
- القدرة على تغيير التعامل مع نوع بيانات أنواع البيانات أثناء التنفيذ إنج Reflection
- تحديد نوع البيانات المستخدم في وقت التشغيل فقط إنج Dynamic Typing
- صغر حجم البرامج، وذلك لأن المفسر تكون له حرية اختيار التعليمات إنج Instructions التي يتحول إليها البرنامج
- القدرة على تحديد وتغيير مجال المتغير إنج Variable Scope في وقت التنفيذ
عيوب لغات البرمجة المفسرة
العيب الرئيسي في تفسير لغات البرمجة هو أنه أبطأ بكثير عند التنفيذ من تنفيذ لغة الآلة مباشرةً في وحدة المعالجة المركزية المعالج عند اللغات المترجمة.
وقد تستخدم ترجمة في الوقت المناسب الترجمة في الوقت المناسب لتحسين الأداء عن طريق ترجمة الأجزاء المكررة من الكود المفسر إلى لغة الآلة .
أمثلة للغات عادةً ما تكون مفسرة
- APL
- صفحات خادم نشطة صفحات الخادم النشطة
- بيسيك
- كوبول
- نظم حل معادلة رياضية المعادلات
- جنو أوكتف
- IDL
- ماثماتيكا
- ماتلاب
- يوفوريا (برنامج حاسوب) يوفوريا
- فورث (لغة برمجة) فورث
- Game Maker Language
- Inform
- جيه (لغة برمجة) جيه
- Lava
- بيرل
- بي إتش بي
- ليسب
- لغة اللوجو
- ممبس
- لغة البرمجة آر
- روبي (لغة برمجة) روبي
- سمول توك
- Bistro
- Dolphin Smalltalk
- F-Script
- Little Smalltalk
- Squeak
- IBM VisualAge
- VisualWorks
- لغة برمجة نصية لغات البرمجة النصية
- ECMAScript
- أكشن سكربت
- E4X
- جافا سكريبت
- جيه سكريبت
- WebDNA
- جداول ممتدة الجداول الممتدة
- لغة البرمجة أس
- تي سي إل
- XMLmosaic
لغات تترجم عادةً إلى لغة آلة افتراضية
العديد من اللغات تترجم أولاً إلى لغة آلة افتراضية والتي تفسر أو تترجم بدورها إلى لغة الآلة
- جافا (لغة برمجة) جافا
- جروفي (لغة برمجة) جروفي
- Join Java
- كولدفيوشن
- لوا (لغة برمجة) لوا
- إطار عمل دوت نت
- Pike
- بايثون
- فيجوال فوكس برو
في البرمجة ، لغة البرمجة المفسرة إنج Interpreted Language هي لغة البرمجة التي لا مصرف (برمجة) تترجم البرامج المكتوبة بها إلى لغة الآلة الخاصة وحدة المعالجة المركزية بالمعالج ، ولكنها تحتاج أن تُفسر باستخدام برنامج يدعى مفسر (برمجة) المفسر لتنفيذ برنامج (حاسوب) البرامج المكتوبة بها.
نظرياً، يمكن لأي لغة برمجة أن تكون مصرف (برمجة) مترجمة أو مفسرة، ولذا فالتفرقة بين لغة مترجمة اللغات المترجمة والمفسرة هي فقط حسب الطريقة الشائعة مع تلك اللغات، وليس ذلك بسبب خاصية داخلية في اللغة نفسها.
العديد من لغات البرمجة يمكنها العمل بالمفسرات وبالمترجمات، مثل ليسب ، باسكال (لغة برمجة) باسكال ، سي (لغة برمجة) سي ، بيسيك و بايثون .
بينما جافا (لغة برمجة) جافا مثلاً تُحول إلى صيغة يُفترض أن تٌفسر، لكن تستخدم ترجمة في الوقت المناسب الترجمة في الوقت المناسب لتحويل تلك الصيغة إلى لغة آلة.
أما لغات إطار عمل دوت نت الدوت نت فهي عادةً تترجم إلى اللغة الوسيطة المشتركة إنج CIL والتي تترجم عادة إلى لغة الآلة، ولكن مع ذلك توجد آلة افتراضية آلات افتراضية قادرة على تفسير اللغة الوسيطة المشتركة .
العديد من تنفيذات ليسب تجمع ما بين الكود المترجم والمفسر.
التعليقات
لم يعلق احد حتى الآن .. كن اول من يعلق بالضغط هنا