Ohjelmointikielen kääntäjä
tietokoneohjelma, joka luo tietokoneohjelman kääntämällä lähdekoodista konekielisenä ajettavan binääritiedoston / From Wikipedia, the free encyclopedia
Ohjelmointikielen kääntäjä on tietokoneohjelma, joka luo tietokoneohjelman ohjelmointikielisen lähdekoodin perusteella konekielisen ajettavan binääritiedoston (eli kääntää ohjelman). Kääntäminen on siis muunnos, jossa ihmiselle helpossa muodossa oleva lähdekoodi muutetaan tietokoneen suorittimen ymmärtämään muotoon myöhempää suorittamista varten.
Kääntäjän lisäksi voidaan tarvita useita muita ohjelmia suoritettavan ohjelman tuottamiseksi kuten esikääntäjä, assembler ja linkkeri.[1]
Vaihtoehtona kääntäjälle on ohjelmointikielen tulkki, joka myös suorittaa ohjelman.[1] Joskus ohjelmat käännetään ensin kääntäjällä tavukoodiksi, jonka sitten suorittaa yksinkertainen tulkki. Tyypillisesti tällä tavalla suoritettavia ohjelmointikieliä ovat Java, Python, Ruby ja PHP.
Tavukoodia käytetään myös välivaiheen käännöksenä, jotta eri kielistä saadaan kohdennettua eri laitteille käännettävää alustakohtaista ohjelmakoodia. Vastaavia ovat muun muassa LLVM kääntäjäympäristössä sekä useissa GPGPU-ohjelmointiin suunnatuissa menetelmissä (esim. SPIR-V[2]).
Käännettävä ohjelma voi olla jaettuna moduuleihin, jotka ovat tallennettuna erillisiin tiedostoihin.[1] Suuret ohjelmat käännetään usein osissa, jolloin uudelleen sijoitettava konekielinen koodi voidaan linkittää yhteen toisten objektitiedostojen kanssa.[1]