Logo ar.removalsclassifieds.com

الفرق بين المجمعين والمترجمين الفوريين (مع الجدول)

جدول المحتويات:

Anonim

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

المجمعين مقابل المترجم الفوريس

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

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

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

جدول المقارنة بين المجمعين والمترجم الفوريس

معلمات المقارنة

المجمعين

مترجمون فوريون

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

ما هو المترجمون؟

المترجم يترجم اللغة عالية المستوى إلى لغة وحدة المعالجة. يستخدم النظام التعليمات البرمجية الهدف. لذلك ، يجب ترجمة جميع المدخلات إلى لغتهم. هذا هو المكان الذي يبدأ فيه المترجم. يقوم بتحويل كود المصدر المستلم إلى لغة برمجة الكمبيوتر. يستخدم الكمبيوتر لغة ثنائية للعمل. لذلك يجب أن تكون التعليمات بنفس اللغة.

تُعرف العملية بالتجميع. لها خطوات متعددة. بدءاً من التحليل حيث يفهم المترجم كود المصدر لتحويله والتصرف هو عملية سريعة. في التحليل ، هناك ثلاث خطوات فرعية: في البداية ، يتم تشكيل المعنى الجماعي باستخدام التحليل الخطي. ثانيًا ، التحليل الهرمي لتقسيم مجموعات المعاني الجماعية التي تسمى الرموز المميزة ، وأخيرًا ، يؤكد التحليل الدلالي أن شفرة المصدر لها معنى.

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

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

من هم المترجمون الفوريون؟

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

يستخدم المترجم استراتيجيات معينة لأداء وظائفه. قد يحلل لغة الإدخال بشكل نحوي مثل لغة البرمجة Lisp أو يترجمها إلى تمثيل متوسط ​​مثل Python أو تنفيذ التعليمات المشتقة من الكود المترجم مسبقًا في النظام مثل UCSD Pascal. يتم استخدام أي من الاستراتيجيات الثلاث.

يتم إدخال البرامج من قبل ، ويتم ربط المترجم الفوري بتنفيذ الوظائف. تجمع بعض الأنظمة بين استراتيجيتين لأداء وظائف مثل Java. يمكن لأنظمة الترجمة الفورية القيام بمهام الترجمة المشابهة للمترجمين. هناك أنواع مختلفة من المترجمين الفوريين. مترجمي Bytecode الذين يحولون كود المصدر إلى كود ثانوي وينفذونه. تستفيد مفسرات الكود المترابطة من المؤشرات. المترجمون الذاتيون يفسرون أنفسهم. يقوم مفسرو شجرة التركيب المجرد بتغيير كود المصدر إلى AST والتنفيذ.

الاختلافات الرئيسية بين المترجمين والمترجمين الفوريينس

استنتاج

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

مراجع

الفرق بين المجمعين والمترجمين الفوريين (مع الجدول)