m4 je jazyk pro zpracování maker, který navrhli Brian Kernighan a Dennis Ritchie v roce 1977. Jeho původním účelem byl překlad programů napsaných v dialektu Rational Fortran do běžného Fortranu.

V současnosti se používá v několika různých nástrojích pro vývoj software (např. Bison, Autoconf) a pro generování konfiguračních souborů (např. sendmail)

Použití

Makroprocesor kopíruje vstupní text na svůj výstup a při tom zpracovává nalezená makra. Pomocí vestavěných maker je možné provádět činnosti jako: nahrazování textu parameter substitution vkládání souborů manipulace s řetězci podmíněné vyhodnocování aritmetické výpočty

Příklad

Jednoduchý příklad, který by mohl být součástí knihovny pro generování HTML dokumentů. Ukazuje jak udělat automatické číslování kapitol:

define(`H2_COUNT', 0) define(`H2', `define(`H2_COUNT', incr(H2_COUNT))' dnl `<h2>H2_COUNT. $1</h2>')

H2(První kapitola) …nějaký text… H2(Druhá kapitola) … další text… H2(Závěr) … konec …

a výsledek po zpracování makroprocesorem:

<h2>1. První kapitola</h2> …nějaký text… <h2>2. Druhá kapitola</h2> … další text… <h2>3. Závěr</h2> … konec …

Externí odkazy

GNU m4 Český tutoriál GNU m4

Kategorie:Unixové programátorské nástroje Kategorie:Doménově specifické jazyky