Kompilaator
From Wikipedia, the free encyclopedia
Remove ads
Remove ads
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.
Remove ads
Kompileeritavad ja interpreteeritavad keeled
Alternatiivne meetod programmi käivitamiseks ilma kompileerimata on programmikoodi käivitamine interpretaatoriga.
Kõrgemaid programmeerimiskeeled liigitatakse 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]
Remove ads
Vaata ka
Viited
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads