المترجم هو برنامج يقرأ برنامج مكتوب باستخدام إحدى لغات البرمجة وتسمى باللغة المصدرية(source language) ويقوم بترجمتها إلى برنامج مماثل في لغة أخرى وتسمى باللغة الهدف (target language) ، ومن المميزات المهمة في عملية الترجمة قدرة المترجم على إبلاغ المستخدم عن وجود أخطاء في البرنامج المصدري . توجد ثلاثة أساليب للترجمة
- الأسلوب الأول يعتمد على قراءة جملة واحدة من الشفرة المصدرية ثم تحديد المقصود منها و إيجاد الأوامر المكافئة لها بالمعنى بلغة الآلة من ثم تنفيذ هذه الأوامر مباشرة قبل الشروع بقراءة الجملة التالية مع ملاحظة أن أوامر لغة الآلة لم تحفظ بل جرى تنفيذها فقط ، يدعى البرنامج الذي يتبع هذا الأسلوب بالمفسر (Interpreter) ويمتاز بسهولة التصميم وسهولة الاستعمال إلا أنه يبطئ تشغيل البرنامج لأنه لا يحفظ ما سبق ترجمته .
- الأسلوب الثاني يعتمد على قراءة البرنامج الأصلي كله دفعة واحدة وتحديد مضمونه الإجمالي ثم إيجاد الأوامر المكافئة له ككل بلغة الآلة ثم حفظ هذه الأوامر بملف آخر يسمى ملف الهدف Object، يدعى البرنامج الذي يعمل بهذا الأسلوب بالمترجم (Compiler) ويتسم بالصعوبة و التعقيد في التصميم والاستعمال إلا أنه يسرع التشغيل لأن الترجمة تتم مرة واحدة فقط وتتم ترجمة المعنى الإجمالي .
- الأسلوب الأخير يقوم بترجمة كل جملة في البرنامج الأصلي إلى أمر واحد مرادف لها بلغة الآلة ثم يقوم بتجميع هذه الأوامر في ملف الهدف ليتم تنفيذها لاحقاً ولهذا السبب يطلق عليه اسم المجمع (Assembler). ومن الواضح أن هذا الأسلوب لن ينجح في ترجمة المعنى إلا إذا كانت اللغة الأصلية قريبة جداً من لغة الآلة بحيث تتطابق جملها في النحو والإنشاء ولا تختلف إلا في المفردات كما هو الحال مع لغة التجميع .