Compiler برنامهای است که کد نوشتهشده در یک زبان را به نمایش دیگری مانند کد ماشین یا Bytecode تبدیل میکند. خروجی آن میتواند پیش از اجرا بررسی، بهینه و برای معماری مشخصی آماده شود.
در پروژه چه کاربردی دارد؟
برای مثال، GCC کد C را به فایل اجرایی تبدیل میکند. TypeScript نیز به JavaScript تبدیل میشود، اما این نوع تبدیل بیشتر Transpilation نام دارد و لزوماً کد ماشین تولید نمیکند.
نمونه کد
gcc hello.c -O2 -o hello
./hello
کامپایل شدن بهتنهایی به معنی سریعتر بودن تمام برنامهها نیست. معماری Runtime، بهینهسازی در زمان اجرا و نوع بار کاری نیز اثر دارند.
کامپایل همیشه به خروجی ماشین محدود نیست
TypeScript معمولاً به JavaScript تبدیل میشود و کامپایلرهای Java و C# خروجی میانی تولید میکنند که توسط Runtime اجرا میشود. بنابراین کامپایلر لزوماً فایل اجرایی بومی تولید نمیکند.