Kompilaator ehk translaator on arvutiprogramm, mis tõlgib (kompileerib) ühes arvutikeeles (lähtekeel) kirjutatud lähtekoodi teise arvutikeelde (sihtkeel, tihti binaarne objektikood). Sagedasim põhjus selliseks lähtekoodi teisenduseks on käivitatava programmi loomine.

 See artikkel räägib programmeerimise mõistest; teoste koostamise viisi kohta vaata artiklit Teose kompileerimine.

Nime "kompilaator" kasutatakse harilikult programmide kohta, mis tõlgivad kõrgtaseme programmeerimiskeelest madalama taseme keelde (näiteks assemblerkeelde või masinkoodi). Madaltaseme keelest kõrgema taseme keelde tõlkivat programmi nimetatakse dekompilaatoriks. Ühest kõrgtaseme keelest teise tõlkivat programmi nimetatakse translaatoriks. Programmeerimiskeele elementide erinevate vormide vahel ilma keelt vahetamata tõlkivat programmi nimetatakse keele ümberkirjutajaks. Ühest kõrgest keelest vahepealsesse, edasist töötlust nõudvasse keelde tõlkivaid kompilaatoreid tuntakse kaskaadijatena.

Madala taseme assemblerkeele kompilaatorit nimetatakse harilikult assembleriks ja dekompilaatorit disassembleriks.

Kompilaator teostab oma töö käigus tavaliselt järgmised operatsioonid: leksiline analüüs, eelprotsessimine, parsimine, semantiline analüüs, koodi genereerimine ja koodi optimeerimine.

Terminit kompilaatori-kompilaator kasutatakse parseri generaatorite kohta.

Kompileeritavad ja interpreteeritavad keeled

Alternatiivne meetod programmi käivitamiseks ilma kompileerimata on programmikoodi käivitamine interpretaatoriga.

Kõrgemaid programmeerimiskeeli jaotatakse sageli kompileeritavateks ja interpreteeritavateks keelteks. Teoreetiliselt võib kompilaatori ja interpretaatori luua iga keele jaoks ning praktikas on paljude keelte jaoks olemas mõlemad. Selline kategoriseerimine viitab harilikult programmeerimiskeele levinuimatele implementatsioonidele. Näiteks viidatakse harilikult BASICule kui interpreteeritavale ja C-le kui kompileeritavale keelele, kuigi leidub ka BASICu kompilaatoreid ja C interpretaatoreid.[1][2]

Vaata ka

Viited

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.