Kääntäjä / Compiler
Kuvauksen kirjoitti: Asko Ropponen / K1907
Lyhyt kuvaus käsitteestä tai aiheesta
Kääntäjä (eng. Compiler) on ohjelma joka muuntaa korkean tason ohjelmointikielellä (esim. ihmisen luettavissa olevalla kuten c,c++ jne...) kirjoitetun ohjelman matalamman tason kielelle, usein binääriseksi konekoodiksi.
Tämä tuotos on sitten se ohjelma itsessään.
Kääntämisprosessi tarkemmin
Kuvassa alla on kuvattu tyypillinen monikielinen, monikohteinen kääntäjä.
Lähdekoodia voidaan kääntää kahdesta eri kielestä, mutta kummallakin on omat "esityönsä", joissa ne käännetään kielelle jota kääntäjä ymmärtää (esim. assembly tms.)
Kuvassa tämä nimellä Intermediate code, eli kieli jota kääntäjä käyttää sisäisesti.
Tämä koodi sitten käännetään lopulta binäärikoodiksi, joka täytyy räätälöidä kohteen mukaan, kuvassa Target 1/2.
Esimerkkejä
1. Cross-compiler (ristikääntäjä)
Cross-compiler on kääntäjä joka tuottaa koodia jota ei ole tarkoitettu ajettavaksi laitteella, jolla sovellus käännetään konekiellelle.
Esim. Windows PC kääntää android sovellusta.
2. Bootstrap
Bootstrap nimitystä käytetään kääntäjästä joka on kirjoitettu samalla ohjelmointikielellä kuin mitä se kääntää.
Esim. java code -> java-written compiler -> java program
3. Decompiler
Decompiler on käänteinen kääntäjä, eli käännettyä, matalan tason kieltä käännetään takaisin ihmisen luettavaan muotoon.
Esim. program -> decompiler -> c++ code.
Lähteitä liittyen aiheeseen
Compiler - Wikipedia
Definition of: compiler, PC Encyclopedia