Esikääntäjä (engl. preprocessor) on ennen ohjelmointikielen kääntäjää suoritettava ohjelma. Esikääntäjä on ikään kuin erikoistunut tekstieditori.[1] C-kielen esikääntäjä on erillinen itse C-kielestä, eikä esikääntäjä ymmärrä kielen rakenteita.[1] C-kieleen esikääntäjän lisäämistä ehdotti Alan Snyder.[2]

Esikääntäjä kehitettiin vakioitujen arvojen ja makrojen käsittelyyn sekä tiedostojen liittämiseen kuten BCPL:ssä ja PL/I:ssä.[1][2] Myös muun muassa FORTRANiin on ollut saatavilla esikääntäjä.[3]

Esimerkki esikääntäjän käytöstä C-kielen kanssa:

#define KOKO 20

int data[KOKO];
char merkkijono[KOKO];

.. jossa määritellyn vakion KOKO arvo 20 sijoitetaan esikääntäjän toimesta kohtiin, joissa sama merkkijono esiintyy.[1]

M4 on yksi yleiskäyttöisistä "esikääntäjäkielistä".[4]

Lähteet muokkaa

  1. a b c d Oualline, Steve: Practical C Programming, s. 140. Third edition. O'Reilly, 1997. ISBN 1-56592-306-5. (englanniksi)
  2. a b Ritchie, Dennis M.: The Development of the C Language bell-labs.com. Viitattu 24.7.2017.
  3. Karl P. Hunt: An introduction to structured programming (PDF) link.springer.com. 1979. doi:10.3758/BF03205654. Viitattu 6.1.2020. (englanniksi)
  4. Michael Breen: Notes on the M4 Macro Language mbreen.com. 2008. Viitattu 28.5.2019. (englanniksi)