Макропроцесор (також макрогенератор) — програма, що виконує перетворення вхідного тексту у вихідний за допомогою окремо заданих правил заміни послідовностей символів, званих правилами макропідстановки.

Найбільш простим і часто вживаним випадком правила макропідстановки є заміна певного рядка (що зветься макросом або макрокомандою) іншим рядком, можливо з використанням параметрів. Також правила макропідстановки можуть мати більш складний характер, включаючи визначення процедур і функцій, обчислювальні алгоритми тощо.

Макропроцесор є окремим випадком транслятора або його частиною. Макропроцесор, що є частиною компілятора, називається препроцесор. Як приклад — препроцесор мов програмування C/C++. Компілятор мови асемблера, об'єднаний з макропроцесором, називається макроасемблером.

Також існують самостійні макропроцесори, наприклад, макропроцесор m4.

До макропроцесорів також можуть бути віднесені ядро ​​системи комп'ютерної верстки ΤΕΧ, окремі мови генерації звітів тощо.

Межа між макропроцесорами і трансляторами мов програмування, орієнтованих на символьну обробку, таких як REXX, Perl, Снобол, Рефал та інші, є доволі умовною. Зазвичай макропроцесорами називають такі транслятори, вхідна мова яких малопридатна для написання універсальних програм, а орієнтована в основному на прості перетворення вхідного тексту у вихідний шляхом символьної підстановки.

Література

ред.
  • Браун П. Макропроцесори і мобільність програмного забезпечення. Серія: Математичне забезпечення ЕОМ. Пер. з англ. М .: Мир. 1977. 253 с.