Compiler برنامه‌ای است که کد نوشته‌شده در یک زبان را به نمایش دیگری مانند کد ماشین یا Bytecode تبدیل می‌کند. خروجی آن می‌تواند پیش از اجرا بررسی، بهینه و برای معماری مشخصی آماده شود.

در پروژه چه کاربردی دارد؟

برای مثال، GCC کد C را به فایل اجرایی تبدیل می‌کند. TypeScript نیز به JavaScript تبدیل می‌شود، اما این نوع تبدیل بیشتر Transpilation نام دارد و لزوماً کد ماشین تولید نمی‌کند.

نمونه کد

gcc hello.c -O2 -o hello
./hello

کامپایل شدن به‌تنهایی به معنی سریع‌تر بودن تمام برنامه‌ها نیست. معماری Runtime، بهینه‌سازی در زمان اجرا و نوع بار کاری نیز اثر دارند.

کامپایل همیشه به خروجی ماشین محدود نیست

TypeScript معمولاً به JavaScript تبدیل می‌شود و کامپایلرهای Java و C# خروجی میانی تولید می‌کنند که توسط Runtime اجرا می‌شود. بنابراین کامپایلر لزوماً فایل اجرایی بومی تولید نمی‌کند.