ما هو المترجم
المترجم هو برنامج كمبيوتر يستخدم لترجمة لغات البرمجة عالية المستوى، مثل C، إلى لغة التجميع أو كود الآلة. والغرض الأساسي منه هو تحويل التعليمات البرمجية التي يمكن قراءتها بواسطة الإنسان إلى تنسيق يمكن تنفيذه بواسطة منصة أجهزة معينة. تتضمن العملية تحليل الكود المصدري، والتحقق من الأخطاء، وإنشاء كود الجهاز الأمثل.
تعد صحة المترجم أمرًا بالغ الأهمية في هندسة البرمجيات، مما يضمن أن المترجم يتصرف وفقًا لمواصفات اللغة الخاصة به. تشمل التقنيات المستخدمة في تحقيق صحة المترجم استخدام الأساليب الرسمية أثناء تطوير المترجم والاختبارات الصارمة، التي يشار إليها غالبًا باسم التحقق من صحة المترجم، على المترجمين الحاليين.
توجد أنواع مختلفة من المترجمين بناءً على النظام الأساسي واللغة المستهدفة. يقوم المترجمون الأصليون أو المستضافون بإنتاج مخرجات يمكن تشغيلها مباشرة على نفس الكمبيوتر ونظام التشغيل مثل المترجم نفسه. من ناحية أخرى، يقوم المترجمون المتقاطعون بإنشاء تعليمات برمجية مخصصة للتنفيذ على منصة مختلفة. يقوم المترجمون للأجهزة الافتراضية بإنتاج تعليمات برمجية موجهة للتنفيذ على جهاز ظاهري بدلاً من تنفيذه مباشرة على الأجهزة الأساسية.
تشمل الأنواع الأخرى من المترجمين المترجمين من المصدر إلى المصدر، الذين يقومون بتحويل التعليمات البرمجية والتعليق عليها باستخدام التعليقات التوضيحية للكود المتوازي أو بنيات اللغة. يقوم مترجمو Bytecode بتجميع كود المصدر إلى لغة التجميع الخاصة بالجهاز النظري، بينما يقوم مترجمو Just-in-Time (JIT) بتأجيل التجميع حتى وقت التشغيل لزيادة الأداء. مترجمو الأجهزة، المعروفون أيضًا بأدوات التوليف، يأخذون لغة وصف الأجهزة كمدخل وينتجون وصفًا لتكوين الأجهزة.