همگردانی
از ویکیپدیا، دانشنامهٔ آزاد.
هَمگَردانی یا کامپایل یکی از اصطلاحات دانش رایانه است.
ترجمه کامل کد منبع برنامهای از یک زبان سطح بالا به کد شیء، پیش از اجرای برنامه را همگردانی یا کامپایل میگویند.
به بیان ساده، کامپایلر برنامهای است که یک برنامه نوشته شده در یک زبان خاص ساختیافته را خوانده و آن را به یک برنامه مقصد (Target Language) تبدیل مینماید. در یکی از مهمترین پروسههای این تبدیل، کامپایلر وجود خطا را در برنامه مبدأ اعلام مینماید.
در اولین نگاه، تنوع کامپایلرها ممکن است به چشم نیاید. تعداد بسیار زیادی زبانهای منبع وجود دارند که دامنه آنها از زبانهای شناخته شده مانند فرترن و پاسکال تا زبانهای خاص منظوره گسترده است. زبانهای مقصد نیز گستردگی متناظر با این زبانها دارند. یک زبان مقصد ممکن است زبان برنامهسازی دیگر یا زبان ماشین یا ... باشد.
کامپایلرها به انواع تکگذره، چند گذره، باردهی و اجرا، بهینهساز، غلط یاب و ... بسته با عمل انجام شده تقسیم میشوند. علیرغم این تنوع اعمال اساسی که هر کامپایلر بایستی انجام دهد، مشابه هم میباشند.
دانستههای ما در مورد سازمانبندی و نوشتن کامپایلر نسبت به زمانی که اولین کامپایلرها در اوایل دهه 1950 ایجاد شدند، بسیار افزایش یافته است. تخمین تاریخ دقیق ساخت اولین کامپایلر عمل آسانی نیست، زیرا گروههای متفاوتی نسبت به ساخت کامپایلرها در آن زمان اقدام نمودهاند. اولین کارهایی که در ساخت
کامپایلرها انجام شد، تبدیل فرمولهای ریاضی به زبان ماشین بود.
در اواسط دهه ۱۹۵۰ کامپایلرها به عنوان برنامههایی دشوار شناخته شده بودند. اولین کامپایلر فرترن، به عنوان مثال ۱۸ سال زمان برای طراحی صرف نمود. از آن زمان روشهای سیستماتیک برای استفاده از بسیاری اعمال مهم حین عمل کمپایل ابداع شدهاست. همچنین زبانهای پیادهسازی خوب، محیطهای برنامه نویسی و ابزارهای نرمافزاری مناسب ایجاد شدهاند. با کمک این پیشرفتها یک کامپایلر را می توان حتی به عنوان پروژه درسی در یک ترم تحصیلی دانشجویی طراحی نمود.
[ویرایش] منابع
- کتاب طراحی کامپایلر: اصول، تکنیکها و ابزار - آلفرد وی. آهو، راوی سدی، جفری دی. آلمن؛ مترجم: مهدی آصفی، تهران، ناقوس، 1380، چاپ 128