Interpretatorius

del.icio.us del.icio.us
Digg Digg
Furl Furl
Reddit Reddit
Rojo Rojo
Add to OnlyWire

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.

Turinys

Palyginimas su kompiliavimu

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 prodedū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

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

Pagrindinis straipsnis: Interpretuojamos kalbos

Kelios tipinės interpretuojamos kalbos:

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

Susiję straipsniai

This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License.


Giant Panda

Mercedes Car
James Bond Guide
This site monitored by SitePinger.net