Kompilaator
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. 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.