Kompilaator ehk translaator on arvutiprogramm, mis tõlgib (kompileerib) ühes arvutikeeles (lähtekeel) kirjutatud lähtekoodi teise arvutikeelde (sihtkeel, tihti binaarne objektikood).
See artikkel räägib programmeerimise mõistest; teoste koostamise viisi kohta vaata artiklit Teose kompileerimine. |
Sagedasim põhjus selliseks lähtekoodi teisenduseks on käivitatava programmi loomine.
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.
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.
This article uses material from the Wikipedia Eesti article Kompilaator, which is released under the Creative Commons Attribution-ShareAlike 3.0 license ("CC BY-SA 3.0"); additional terms may apply (view authors). Sisu on kasutatav litsentsi CC BY-SA 4.0 tingimustel, kui pole öeldud teisiti. Images, videos and audio are available under their respective licenses.
®Wikipedia is a registered trademark of the Wiki Foundation, Inc. Wiki Eesti (DUHOCTRUNGQUOC.VN) is an independent company and has no affiliation with Wiki Foundation.