کامپایلر (Compiler) یکی از بنیادیترین مؤلفههای زیرساخت نرمافزارهای مدرن است و نقشی محوری در تبدیل ایدههای انتزاعی برنامهنویسان به دستورالعملهای قابل اجرای سختافزار ایفا میکند. هر برنامهی کامپیوتری، صرفنظر از میزان پیچیدگی یا سادگی آن، پیش از اجرا باید از مرحلهای عبور کند که در آن توصیف سطح بالای رفتار برنامه به شکلی قابل فهم برای ماشین تبدیل شود. این وظیفه بر عهدهی کامپایلر است؛ ابزاری که به عنوان واسطی