kompilaattorityyppejä
Kääntäjä eli kompilaattori on tietokoneohjelma, joka muuntaa yhden ohjelmointikielen (lähdekoodin) toiselle kielelle (kohdekoodille). Tyypillisesti lähdekoodi on korkeamman tason kieltä, kuten C++, Java tai Python, ja kohdekoodi on matalamman tason kieltä, kuten konekieltä tai assembly-kieltä. Kääntäjiä on erilaisia, ja niiden luokittelu perustuu usein siihen, mihin tarkoitukseen ne on suunniteltu ja miten ne toimivat.
Yksi yleinen luokittelu jakaa kääntäjät etu- ja takapään kääntäjiin. Etupään kääntäjä vastaa lähdekoodin jäsentämisestä ja analysoinnista,
Toinen tapa luokitella kääntäjiä on niiden toimintaperiaatteen mukaan. Yksivaiheiset kääntäjät muuntavat lähdekoodin suoraan kohdekoodiksi yhdellä ajokerralla.
Lisäksi on olemassa erityyppisiä kääntäjiä, kuten ristikkäiskääntäjät (cross-compilers), jotka tuottavat koodia eri arkkitehtuurille tai käyttöjärjestelmälle kuin