Kompilaator: erinevus redaktsioonide vahel

Eemaldatud 111 baiti ,  4 aasta eest
resümee puudub
P (Bot: Migrating 65 interwiki links, now provided by Wikidata on d:q47506 (translate me))
Resümee puudub
{{See artikkel|räägib programmeerimise mõistest; teoste koostamise viisi kohta vaata artiklit [[Teose kompileerimine]].}}
 
'''Kompilaator''' ehk '''translaator''' on [[arvutiprogramm|programm]], mis tõlgib (kompileerib) ühes [[arvutikeel]]es (''lähtekeel'') kirjutatud [[lähtekood]]i teise arvutikeelde (''sihtkeel'', tihti binaarne [[objektikood]]). Sagedasim põhjus lähtekoodi selliseks transformeerimisekslähtekoodi teisenduseks on käivitatava programmi loomine.
 
Nime "kompilaator" kasutatakse harilikult programmide kohta, mis tõlgivad kõrgtaseme programmeerimiskeelest madalama taseme keelde (näiteks [[assemblerkeel]]de või [[masinkood]]i). Programmi, mis tõlgib madaltasemeMadaltaseme keelest kõrgema taseme keelde, tõlkivat programmi nimetatakse [[dekompilaator]]iks. Programmi, mis tõlgib ühestÜhest kõrgtaseme keelest teise, tõlkivat programmi nimetatakse translaatoriks. Keele ümberkirjutajaks nimetatakse programmi, mis tõlgib programmeerimiskeeleProgrammeerimiskeele elementide erinevate vormide vahel ilma keelt vahetamata. Kompilaatoreid,tõlkivat misprogrammi tõlgivadnimetatakse ühestkeele ümberkirjutajaks. Ühest kõrgest keelest vahepealsesse keelde, misedasist nõuavadtöötlust edasistnõudvasse töötlemist,keelde tõlkivaid kompilaatoreid tuntakse [[kaskaadija]]tena.
 
Assemblerkeele,Madala mistaseme pole kõrgtaseme keel,assemblerkeele kompilaatorit nimetatakse harilikult [[assembler]]iks ja dekompilaatorit [[disassembler]]iks.
 
Kompilaator teostab oma töö käigus tavaliselt järgmised operatsioonid: [[leksiline analüüs]], [[eelprotsessor|eelprotsessimine]], [[parsimine]], [[semantiline analüüs]], [[koodi genereerimine]] ja [[koodi optimeerimine]].
== Kompileeritavad ja interpreteeritavad keeled ==
 
Alternatiivne meetod programmi käivitamiseks vastandinailma kõigepealt kompileerimisele ja seejärel käivitamiselekompileerimata on programmikoodi käivitamine [[interpretaator]]iga.
 
Kõrgemaid programmeerimiskeeli jaotatakse sageli kompileeritavateks ja interpreteeritavateks keelteks. Kuid teoreetiliseltTeoreetiliselt võib kompilaatori ja interpretaatori luua iga keele jaoks, ning praktikas ongion paljude keelte jaoks olemas mõlemad. Selline kategoriseerimine viitab harilikult programmeerimiskeele levinuimatele implementatsioonidele. Näiteks viidatakse harilikult [[BASIC]]ule kui interpreteeritavale ja [[C (programmeerimiskeel)|C]]-le kui kompileeritavale keelele, kuigi eksisteeribleidub ka BASICu kompilaatoreid ja C interpretaatoreid.<ref>[http://www.freebasic.net/index.php/about FreeBASIC compiler]</ref><ref>[http://www.softintegration.com/ Ch -- an embeddable C/C++ interpreter]</ref>
 
==Viited==