Препроцессоры в современных языках программирования используются для предварительной обработки исходных текстов программы перед тем, как передать их компилятору. 2
Лексические препроцессоры выполняют замену макросов, текстовое включение других файлов и условную компиляцию или включение. 1 Например, в языке C препроцессор удаляет из исходного файла все комментарии, ищет директивы (команды) и при их наличии выполняет. 2 После этого преобразованный файл передаётся компилятору или сохраняется в файл (поведение зависит от параметров командной строки). 2
Синтаксические препроцессоры преобразуют синтаксические деревья в соответствии с рядом определяемых пользователем правил. 1 Они используются для настройки синтаксиса языка, расширения языка путём добавления новых примитивов или встраивания предметно-ориентированного языка программирования в язык общего назначения. 1
Также препроцессоры применяются в CSS для упрощения работы с кодом. 45 Они принимают данные (код в форматах stylus, sass, scss или less) и компилируют (преобразуют) их в обычный CSS-код. 4