Mis on kompilaator ehk kuidas panna arvuti aru saama, mida sa tem alt tahad?

Sisukord:

Mis on kompilaator ehk kuidas panna arvuti aru saama, mida sa tem alt tahad?
Mis on kompilaator ehk kuidas panna arvuti aru saama, mida sa tem alt tahad?

Video: Mis on kompilaator ehk kuidas panna arvuti aru saama, mida sa tem alt tahad?

Video: Mis on kompilaator ehk kuidas panna arvuti aru saama, mida sa tem alt tahad?
Video: ЛЮБОВЬ С ДОСТАВКОЙ НА ДОМ (2020). Романтическая комедия. Хит 2024, Mai
Anonim

Programmi loomise viimane etapp on ühes programmeerimiskeeles (C/C++, Pascal jne) kirjutatud algoritmi tõlkimine madala taseme masinakeelde. Selle põhjuseks on asjaolu, et mis tahes ülesande täitmiseks tuleb arvutitele anda käsud neile arusaadavas keeles, mis on lähedane binaarsele ja toimib primitiivsete andmestruktuuridega (bitt, bait või sõna). Kõrgetasemeliste keelte domeenispetsiifiliste avalduste binaarkoodi tõlkimise protsessi nimetatakse tõlkimiseks. On kaks tõlkemeetodit – koostamine ja tõlgendamine.

kompilaator on
kompilaator on

Kompilaator – mis see on?

Mõtete "koostaja" ja "koostamine" paljude tõlgenduste analüüs võimaldab meil esile tõsta järgmise määratluse. Kompilaator on programm, mis on loodud allikaalgoritmi teksti tõlkimiseks kõrgetasemelisest keelest samaväärseks masinorienteeritud keele juhiste komplektiks. See on niinimetatud objektikood, mis on ette nähtud saadud objektikoodi hilisemaks kokkupanemiseks kasutusvalmis programmimooduliks.

Kompilaator ja tõlgendaja – sarnasused ja erinevused

Tõlk on utiliit, missamuti kompilaator, mis on loodud lähtekoodi tõlkimiseks masinkoodiks. Kuid erinev alt kompilaatorist töötab tõlk iga kord koos programmiga ja teostab tõlke ridade kaupa.

Võib öelda, et kompilaator ja tõlk on keeleprotsessorid, mis võimaldavad arvutil programmeerija antud käske ära tunda ja täita.

Kompilaatori klassifikatsioon

kompilaator on programm
kompilaator on programm

Kompilaatorid liigitatakse peamiselt nende praktilise kasutusvaldkonnaga seotud funktsioonide järgi.

Vektoriseeriv kompilaator on utiliit, mis tõlgib lähtekoodi objektkoodiks ja on kohandatud vektorprotsessoritega varustatud arvutitele.

Paindlik kompilaator on programmeeritud kõrgetasemelises keeles modulaarselt. Selle haldamine toimub tabelite abil. Seda on võimalik käivitada ka kompilaatorite kompilaatori abil.

Inkrementaalkompilaator on keeleprotsessor, mis tõlgib uuesti eraldi lähtekoodi fragmente ja selle täiendusi. See väldib aga kogu rakenduse uuesti kompileerimist.

Tõlgendav (astmeline) kompilaator on utiliit, mis teostab järjestikku kõrgetasemelise lähtekoodi iga lause või käsu sõltumatu kompileerimise.

Kompilaatorite kompilaator on tõlkija, mis on võimeline aktsepteerima programmeerimiskeele ametlikku kirjeldust ja genereerima iseseisv alt kompilaatori mis tahes keele jaoks.

koostaja ja tõlk
koostaja ja tõlk

Silumiskompilaator võimaldab teil leida ja parandada teatud tüüpi lähtekoodi kirjutamisel tehtud süntaksivigu

Residendil kompilaatoril on RAM-is alaline koht ja seepärast on see paljude ülesannete jaoks taaskasutatav.

Ise koostatud kompilaator on kirjutatud tõlkega samas keeles.

Universaalne kompilaator põhineb sisestuskeele semantiliste ja süntaktiliste parameetrite formaalsel kirjeldusel. Sellise utiliidi põhikomponendid on tuum-, süntaktilised ja semantilised laadijad.

Kompilaatoriseade

Kompilaator ja linker on iga kompilaatori keskmes. Sageli kasutatakse koostamisel välist linkerit ja kompilaator ise täidab ainult tõlkefunktsiooni. Juhtub ka seda, et kompilaator realiseeritakse omamoodi haldurprogrammina, mis on seotud tõlkija (või tõlkijatega, kui lähtekoodi kirjutamisel kasutati erinevaid programmeerimiskeeli) ja linkeriga ning alustab vajadusel nende täitmist.

Programmeerimiskeeled ja tõlkemeetodid

keele koostaja
keele koostaja

Hoolimata asjaolust, et mis tahes programmeerimiskeeles kirjutatud programmi saab nii kompileerida kui ka tõlgendada, on paljudel kõrgetasemelistel keeltel eelsoodumus ühe või teise tõlkemeetodi suhtes. Niisiis, C-keel oli algselt mõeldud kompileerimiseks ja Java - kirjutatud programmi tõlgendamiseks. ArendatakseC-kompilaatorid on tänu suhteliselt madalale tasemele ja vähesele struktuurielementide arvule üsna lihtsad.

Koostajate ja tõlkide eelised ja puudused. Rakendused

Pange tähele, et kompileeritud rakendused on kiiremad kui tõlgendatud, kuid samas sõltub kompileerimise tulemusena saadav masinkood riistvaraplatvormist. Seega ei tööta Windowsi jaoks kirjutatud ja kompileeritud programm näiteks Linuxis. Seetõttu kasutavad Interneti-rakenduste puhul, kui pole võimalik ette öelda, millises keskkonnas need töötavad, tõlgendust või baitkoodi (sel juhul teisendatakse lähteprogramm vahevormiks, mida saab käivitada erineval riistvaral platvormid).

Soovitan: