مترجم یا همگردان یا کامپایلر برنامه یا مجموعهای از برنامههای کامپیوتری است که متنی از زبان برنامه نویسی سطح بالا (زبان مبدا) را به زبانی سطح ذیل (زبان مقصد)، همانند اسمبلی یا زبان سطح ماشین، تبدیل میکند. خروجی این برنامه شدنی است برای پردازش شدن بدست برنامه دیگری مثل پیونددهنده پسندیده باشد یا فایل متنی باشد که انسان نیز بتواند آنرا بخواند. مهمترین علت به کارگیری ترجمه کد مبدا، برپایی برنامه اجرایی میباشد. وارونه برنامهای که زبان سطح زیر را به بالاتر تبدیل میکند را decompiler گوییم. ترجمه کامل کد منبع برنامهای از یک زبان سطح بالا به کد شیء، قبل از اجرای برنامه را همگردانی یا کامپایل میگویند. به بیان ساده، کامپایلر برنامهای است که یک برنامه تألیف شده در یک زبان خاص ساختیافته را خوانده و آن را به یک برنامه مقصد (Target Language) تبدیل مینماید. در یگانه از مهمترین پروسههای این تبدیل، کامپایلر هستی خطا را در برنامه مبدأ اعلام مینماید. در اولین نگاه، تنوع کامپایلرها ممکن است به چشم نیاید. تعداد بسیار زیادی زبانهای منبع هستی دارند که پهنه آنها از زبانهای شناخته شده مانند فرترن و پاسکال لغایت زبانهای ویژه منظوره گسترده است. زبانهای مقصد نیز گستردگی متناظر با این زبانها دارند. یک زبان مقصد شدنی است زبان برنامهسازی دیگر یا زبان ماشین یا … باشد.
این جزوه به صورت اسلایدهای پاورپوینت است