The English encyclopedia Allmultimedia.org will be launched in two phases.
The final launch of the Allmultimedia.org will take place on February 24, 2026
(shortly after the 2026 Winter Olympics).

m4 (makroprocesor)

Z Multimediaexpo.cz

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