کامپایلر یک برنامه کامپیوتری است که یک برنامه نوشته شده به زبان سطح بالا را می خواند و می تواند آن را به همان برنامه در یک زبان سطح پایین از جمله زبان ماشین ترجمه کند.
کامپایلر زبان سطح بالا را با استفاده از مراحل مختلف به زبان سطح پایین تبدیل می کند. یک کاراکتر وارد شده توسط برنامه نویس مراحل متعددی از تدوین را طی می کند که در نهایت زبان مقصد را ارائه می دهد.
* ویژگی های کامپایلر :
یک کامپایلر یک برنامه را در یک اجرا ترجمه می کند.
زمان کمتری مصرف می کند.
مصرف CPU بیشتر است.
هر دو خطای نحوی و معنایی را می توان همزمان بررسی کرد.
به راحتی توسط بسیاری از زبان های سطح بالا مانند C، C++، JAVA و غیره پشتیبانی میشود.
مفسر برنامه ای است که کد برنامه نویسی را مستقیماً اجرا می کند و دستورات زبان برنامه نویسی را یکی یکی ترجمه و اجرا می کند.
* ویژگی های مفسر :
یک مترجم برنامه را خط به خط ترجمه می کند.
مترجم از نظر اندازه کوچکتر است.
تفاوت اصلی و واضح مفسر و کامپایلر در این است که کامپایلرها کدهای سطح بالا را قبل از پیادهسازی به کدهای ماشین تبدیل میکنند و یک فایل اجرایی ( .exe
) برای آنها میسازند. اما مفسر، کدهای سطح بالا را هنگام پیادهسازی خط به خط برنامه به کدهای قابل فهم برای ماشین تبدیل میکند.
* سایر تفاوت ها :
- سرعت کامپایلر از مفسر بیشتر است .
- در هنگام ترجمه ، کامپایلر کد ماشین را در حافظه دیسک ذخیره میکند اما مفسر اینکار را نمیکند.
- در برنامه های کامپایلری اجرای برنامه تنها پس از کامپایل شدن کل برنامه انجام می شود. اما در برنامه های مفسری اجرای برنامه پس از بررسی یا ارزیابی هر خط انجام می شود.
-کامپایلر قبل از کامپایل خطاهای برنامه را بررسی میکند و در صورت وجود همه خطا هارا در کنارهم هم نشان میدهد. اما مفسر خط به خط جلو میرود و اگر خطایی بود متوقف میشود و آن را نشان میدهد.