Skip to content

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.

Otsikkoteksti

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

-