M4 (makrokieli)

M4 on makrokieli, jonka Brian W. Kernighan ja Dennis M. Ritchie kehittivät Bell Labsissa 1970-luvulla. Kieli oli saatavilla UNIX- ja GCOS-käyttöjärjestelmille. Tekijöiden mukaan kieli on erityisen sopiva Fortran, PL/I ja C-kielien kanssa. Kieli on laajennus Ritchien aiemmin AP-3 minitietokoneelle kehittämästä M3-kielestä.

Kieltä on sanottu myös "mallinekieleksi" ja "esikääntäjäkieleksi".

Kielestä on myös GNU-projektin avoimen lähdekoodin toteutus GNU M4, jossa on myös joitakin laajennuksia. Yksi suurista kielen käyttökohteista on GNU Autoconf -projekti.

Esimerkki 
Ydintoimintona on define avainsana, jolla määritellään uusia makroja. 
Makroja voidaan käyttää Unix-putken kautta "filtteriohjelmina".

Määritetään M4:lle seuraava makro:
 define(AUTHOR, William Shakespeare)

Annetaan makrolle syöte:
  A Midsummer Night's Dream
  by AUTHOR

.. jolloin saadaan tulostuksena seuraava:
  A Midsummer Night's Dream
  by William Shakespeare

Lähteet 

Ohjelmointikielet
Bell Labs