دستورات پیش پردازنده که اغلب برای تعریف ثابت و ماکرو یا ضمیمه کردن فایل بکار می روند قبل از ترجمه برنامه تفسیر و تغییراتی را در متن برنامه ایجاد می کنند. پیش پردازنده (preprocessor) بخشی از کامپایلر است که قسمت هائی از برنامه را، قبل از اینکه کل آن توسط کامپایلر ترجمه شود، مورد ارزیابی قرار می دهد. برنامه نویس می تواند دستوراتی را در برنامه خود درج کند که مستقیما پیش پردازنده را فراخوانی کند به این دستورات پیش پردازنده می گویند. پیش پردازنده ها ممکن است باعث تغییر متن برنامه قبل از تحویل آن به کامپایلر شوند.