Compiler
مترجم همگردان، یا کامپایلر برنامه یا مجموعهای از برنامههای کامپیوتری است که متنی از زبان برنامهنویسی سطح بالا (زبان مبدأ) را به زبانی سطح پایین (زبان مقصد)، مثل اسمبلی یا زبان سطح ماشین، تبدیل میکند. خروجی این برنامه ممکن است برای پردازش شدن توسط برنامه دیگری مثل پیوند دهنده مناسب باشد یا فایل متنی باشد که انسان نیز بتواند آن را بخواند. به این علت فرودبر نامگذاری شدهاست که کد با زبان سطح بالا را به کد زبان سطح پایین تبدیل میکند بدون این که در رفتار کد تغییری حاصل شود. به عمل compile کردن فرودش گفته میشود.
مهمترین علت استفاده از ترجمه کد مبدا، ایجاد برنامه اجرایی میباشد. برعکس برنامهای که زبان برنامهنویسی سطح پایین را به بالاتر تبدیل میکند را مترجموارون گوییم.
ترجمه کامل کد منبع برنامهای از یک زبان سطح بالا به کد شیء، پیش از اجرای برنامه را همگردانی یا کامپایل میگویند.
به بیان ساده، کامپایلر برنامهای است که یک برنامه نوشته شده در یک زبان خاص ساختیافته را خوانده و آن را به یک برنامه مقصد (Target Language) تبدیل مینماید. در یکی از مهمترین پروسههای این تبدیل، کامپایلر وجود خطا را در برنامه مبدأ اعلام مینماید.
نام "مترجم" بیشتر برای برنامههایی که کد منبع را از یک زبان برنامه نویسی سطح بالا(++C) به یک زبان سطح پایینتر(به عنوان مثال زبان اسمبلی، آبجکت کد و یا زبان ماشین) ترجمه میکنند استفاده میشود.
نمونهها
- مجموعه کامپایلرهای گنو GCC
- clang