Kysy konsultilta: Mitä compiler tarkoittaa?

17. toukokuuta 2024

Mitä compiler tarkoittaa?

Compiler (suom. kääntäjä) on tietokoneohjelma, jolla käännetään korkeamman tason ohjelmointikielellä (esim. Java / TypeScript) kirjoitettu tietokoneohjelma alemman tason kielelle (assembly, machine code, binääri). Eli sillä muunnetaan ohjelman lähdekoodi ihmisen ymmärtämästä muodosta muotoon, jonka tietokone ymmärtää ja pystyy suorittamaan. Kääntämisprosessiin kuuluu useita vaiheita, kuten sanasyntaksianalyysi, parsinta, semanttinen analyysi, optimointi ja koodin generointi.


Alla lyhyt kuvaus näistä vaiheista:


  1. Sanasyntaksianalyysi: Tässä vaiheessa lähdekoodi jaetaan tokeneihin, kuten avainsanoihin, tunnisteisiin, operaattoreihin ja välimerkkeihin.
  2. Parsinta: Kääntäjä analysoi koodin rakenteen ohjelmointikielen kieliopin sääntöjen mukaisesti. Tämä luo jäsentämispuiden tai abstraktien syntaksipuiden (AST), jotka edustavat koodin rakennetta.
  3. Semanttinen analyysi: Tässä vaiheessa koodi tarkistetaan semanttisesti oikeelliseksi, kuten tyyppivirheet tai määrittelemättömät muuttujat. Se suorittaa myös tyyppipäätelmän ja varmistaa, että koodi noudattaa kielen sääntöjä.
  4. Optimointi: Monet kääntäjät suorittavat erilaisia optimointeja parantaakseen generoidun koodin tehokkuutta, kuten vakioarvot, silmukoiden purkaminen ja kuolleen koodin eliminointi.
  5. Koodin generointi: Viimeiseksi kääntäjä muuntaa koodin konekoodiksi tai tavukoodiksi suoritettavaksi kohdealustalla. Tämä saattaa sisältää korkean tason ohjeiden muuttamisen konekieliseksi tai suoraan konekoodiksi.


Kun käännösvaihe on valmis, tuloksena olevaa suoritettavaa koodia voidaan ajaa kohdealustalla ilman alkuperäistä lähdekoodia tai itse kääntäjää. Tämä tekee kääntäjistä olennaisia työkaluja ohjelmistokehityksessä, koska ne mahdollistavat ohjelmoijille koodin kirjoittamisen helpommin luettavassa ja ylläpidettävässä muodossa saavuttaen silti tehokkaan suorituksen tietokoneella.

Juha Mustajärvi

Full Stack Developer

Viimeisimmät kirjoitukset

22. huhtikuuta 2026
Webscale sai marraskuussa 2025 vahvistusta tiiminsä, kun Teemu Peräkylä aloitti Sales Executive roolissa. Tutustu Teemuun ja lue hänen kokemuksistaan ensimmäisiltä kuukausilta Webscalella.
8. huhtikuuta 2026
Pilvipalveluiden valinta ei ole pelkkä tekninen tai kustannuksiin perustuva päätös. Digitaalinen suvereniteetti korostuu, kun organisaatiot pohtivat datan sijaintia ja hallintaa. Tekstissä vertailemme hyperscalereita ja eurooppalaisia pilvipalveluita sekä sitä, miksi paras ratkaisu löytyy usein näiden yhdistelmästä.
29. tammikuuta 2026
AWS European Sovereign Cloud (EUSC) on nyt saatavilla ensimmäisellä regionilla. EUSC on erillinen kokonaisuus AWS:n tavallisesta commercial-pilvestä. Se on rakennettu tilanteisiin, joissa eurooppalainen regioni ei enää riitä, vaan vaatimukset koskevat myös palvelun operointia ja käyttöoikeuksia.
AWS Lambda durable functions
21. tammikuuta 2026
AWS julkaisi joulukuussa 2025 uuden Lambda durable functions -ominaisuuden. Tämä tuo Lambdaan pitkäkestoisen ja monivaiheisen suoritusmallin, jossa työ voidaan pilkkoa hallittaviin osiin ja suorittaa jopa vuoden ajan.
Lisää kirjoituksia