Compiler
Kuvauksen kirjoitti: Jarno Saastamoinen
Lyhyt kuvaus käsitteestä tai aiheesta
Compiler eli kääntäjällä yleensä tarkoitetaan ohjelmaa mikä muokkaa ihmisille ymmärrettävän korkeamman tason lähdekoodin binäärimuotoon mitä tietokone pystyy sitten käyttämään, mutta on useita erilaisia kääntäjiä esimerkiksi cross-compiler mikä muokkaa koodin käytettäväksi muilla käyttöjärjestelmillä ja laitteilla tai decompiler millä muutetaan simppelimpää koodia korkeamman tason koodiksi.
On myös olemassa interpreter eli tulkki mikä vain analysoi koodin ja niin sanotusti kääntää sitä vain suorittamisen aikana.
Compilerin toiminta jaetaan kolmeen osaan front end, a middle end ja back end.
Front end: Tarkistaa lähdekoodin syntaksin virheiden varalta ja muuttaa lähdekoodin välikoodiksi (intermediate representation, IR) middle endiä varten.
Middle end: Optimoi välikoodin back endiä varten. Käyttämättömän koodin poistaminen jne. Optimointi riippuu minkälaiselle suoritinarkkitehtuurille koodia optimoidaan.
Back end: Analysoi, muuttaa ja optimoi koodin kyseiselle suoritinarkkitehtuurille. Back endistä tullut koodi on tarkoitettu nimenomaan tietylle prosessorille ja käyttöjärjestelmälle.
Muuta aiheeseen liittyvää
Termin compiler keksi (coined) amerikkalainen Grace Hopper, joka kirjoitti ensimmäisiä ohjelmointikielen kääntäjiä 1950-luvulla.
Linkit ulkopuolisiin lähteisiin
Avainsanat harjoitustehtävän repositoriossa
-