تعریف کامپایلر:برنامه ای است که متن یک برنامه به زبان برنامه نویسی A را دریافت نموده وپس از اعمال تغییرات خاصی به طوری که معنا و مفهوم آن عوض نشود به زبان برنامه نویسی B تبدیل میکند.
کامپایلر زبان سطح(high level) بالا را به زبان سطح پائین (low level)تبدیل میکند.اگرتمام داده های ورودی مورد نیاز کامپایلرفراهم باشدکامپایلرمیتواندعمل مشخص شده توسط معنای برنامه را بدون تبدیل به شکل دیگر اجرا نماید.