Interpretatorius

Straipsnis iš Vikipedijos, laisvosios enciklopedijos.
Peršokti į: navigaciją, paiešką

Interpretatorius – programa, vykdanti kitas programas. 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[taisyti | redaguoti kodą]

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[taisyti | redaguoti kodą]

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[taisyti | redaguoti kodą]

Pagrindinis straipsnis: Interpretuojamos kalbos

Kelios tipinės interpretuojamos kalbos:

Kai kurios kalbos pirma kompiliuoja kodą į pseudokodą, o vykdymo metu interpretuoja pseudokodą:

Taip pat skaitykite[taisyti | redaguoti kodą]