M4 (makrokieli)

ohjelmointikieli
(Ohjattu sivulta M4 (komentosarjakieli))

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

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

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

Esimerkki muokkaa

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

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 muokkaa

  1. a b c d Kernighan, Brian W. & Ritchie, Dennis M.: The M4 Macro Processor (PDF) wolfram.schneider.org. 1.7.1977. Viitattu 28.5.2019. (englanniksi)
  2. a b c Michael Breen: Notes on the M4 Macro Language mbreen.com. 2008. Viitattu 28.5.2019. (englanniksi)
  3. a b GNU M4 GNU. Viitattu 28.5.2019. (englanniksi)