Interpretatorius
Interpretatorius – programa, tiesiogiai vykdanti programavimo kalba parašytą programą, nesukurdama jos dvejetainio vykdomojo failo.[1] Skirtingai nei kompiliatorius, kuris vieną kartą programinius išeities kodus paverčia kompiuteriui suprantamomis instrukcijomis ir gautą programą galima vykdyti neribotą kiekį kartų be kompiliatoriaus įsikišimo, interpretatorius išeities kodą verčia instrukcijomis kiekvieno vykdymo metu.
Palyginimas su kompiliavimu
[redaguoti | redaguoti vikitekstą]Interpretuojamo kodo privalumas – jį galima vykdyti daugelyje platformų, tuo tarpu kompiliatoriaus paruošta programa gali būti vykdoma tik tam tikruose gimininguose kompiuteriuose ir/ar operacinėse sistemose. Tačiau interpretuojamo kodo programos dažniausiai vykdomos lėčiau nei kompiliuotos programos.
Interpretatoriai leidžia nesunkiai panaudoti ir kai kuriuos programavimo metodus, kurie neįmanomi naudojant kompiliatorius, pvz., kurti save modifikuojančias programas. Interpretuojami metodai leidžia žymiai laisviau naudoti duomenų tipų konversiją, kurti universalias procedūras.
Klaidų, ypač loginių, paieška, naudojant interpretatorius, taip pat žymiai lengvesnė, todėl kuriami interpretatoriai, skirti kompiliuojamoms kalboms, pvz., C. Nepaisant to, interpretuojamos programos gali turėti specifinių klaidų, susijusių su sintaksine analize vykdymo metu: tokios klaidos kompiliuojamose programose neįmanomos.
Susiję vykdymo metodai
[redaguoti | redaguoti vikitekstą]Yra kelios sąlyginai naujos technologijos, daugiau ar mažiau artimos interpretavimui:
- dinaminis kompiliavimas (angl. Just in Time compilation), kur programa ar jos moduliai kompiliuojami prieš pat vykdymą trina ribą tarp kompiliavimo ir interpretavimo.
- Kompiliavimas į pseudokodą leidžia interpretavimą pagreitinti nuo kelių iki kelių dešimčių kartų, nes visa sintaksinė kodo analizė, konstantų apskaičiavimas ir pan., gali būti įvykdyti prieš vykdant programą, o pati programa gali būti vykdoma itin našiuose interpretatoriuose.
- Vykdymas, naudojant objektinį dispečerį leidžia kompiliuojamoms kalboms įgyti interpretuojamų savybių: į programą įkompiliuojamas tam tikras modulis, kuris, kaip interpretatorius, sprendžia tipų, parametrų, funkcijų atitikimo ir pan. užduotis.
- Kai kuriais atvejais interpretuojama kalba parašyta programa gali būti sukompiliuota į vieną vykdomąjį dvejetainį failą, kuriame yra minimalus interpretatorius bei pati interpretuojama programa. Taip „kompiliuota“ programa eiliniam naudotojui niekuo nesiskiria nuo tikrai kompiliuotos.
Interpretuojamos kalbos
[redaguoti | redaguoti vikitekstą]Kelios tipinės interpretuojamos kalbos:
- BASIC (dauguma variantų)
- JavaScript
- Logo
- Lisp (senesnieji variantai)
Kai kurios kalbos pirma kompiliuoja kodą į pseudokodą, o vykdymo metu interpretuoja pseudokodą:
- Perl
- Python
- Java (dažniausiai vykdymo metu kompiliuojama)
- .NET šeimos kalbos (kompiliuojama prieš pirmą kartą naudojant)
Taip pat skaitykite
[redaguoti | redaguoti vikitekstą]Šaltiniai
[redaguoti | redaguoti vikitekstą]- ↑ Interpretatorius. V. Dagienė, G. Grigas, T. Jevsikova. Enciklopedinis kompiuterijos žodynas. 4-as leidimas. Vilnius: VU MII, 2014 // EKŽ, 2021, nuolat atnaujinamas. ISBN 978-9986-680-52-9.