M4 (informatyka)


M4 (informatyka) w encyklopedii

Z Wikipedii, wolnej encyklopedii Przejdź do nawigacji Przejdź do wyszukiwania

M4 to popularny na Uniksach makroprocesor. Jest używany m.in. przez sendmail i autoconf.

M4 czyta standardowe wejście, wykonuje zapisane w nim komendy i drukuje wynik na standardowe wyjście. Wszystko co nie jest komendą jest kopiowane bez zmian.

Ważniejsze wbudowane komendy to:

  • dnl - wszystko do końca linii jest komentarzem, którego nie należy kopiować na wyjście. Ważne: dnl działa jedynie jako pojedynczy wyraz; oznacza to, że ednl zostanie zinterpretowane jako zwykły tekst.
  • eval(wyrażenie) - oblicza wyrażenie arytmetyczne
  • define(nazwa,definicja) - definiowanie własnych komend
  • defn(nazwa) - drukuje treść makra nazwa na standardowe wyjście
  • include(nazwa pliku) - kopiuje zawartość wskazanego pliku na standardowe wyjście

Otoczenie wyrażenia za pomocą znaków ` oraz ' skutkuje oznaczeniem go jako tekst niezmienny, np.

define(foo, $1 $2 $3) foo(1, 2, 3) `foo(4, 5, 6)' 

wynikiem będzie:

1 2 3 foo(4, 5, 6) 

Przykład | edytuj kod

define(foo,$1 ma $2)dnl define(bar,Kasia)dnl foo(Ala,kota) foo(bar,psa) 2 + 2 = eval(2+2) defn(bar) 

co w wyniku daje:

Ala ma kota Kasia ma psa 2 + 2 = 4 Kasia 

Linki zewnętrzne | edytuj kod

Na podstawie artykułu: "M4 (informatyka)" pochodzącego z Wikipedii
OryginałEdytujHistoria i autorzy