Pereiti prie turinio

Interpretatorius: Skirtumas tarp puslapio versijų

Straipsnis iš Vikipedijos, laisvosios enciklopedijos.
Ištrintas turinys Pridėtas turinys
Lang-Bot-as (aptarimas | indėlis)
S Automatinis kabučių taisymas
Homobot (aptarimas | indėlis)
S Nebenaudojamo skydelių datavimo šalinimas.
 
(nerodoma 43 tarpinės versijos, sukurtos 26 naudotojų)
Eilutė 1: Eilutė 1:
{{Šaltiniai}}
'''Interpretatorius''' – programa, vykdanti kitas programas. Skirtingai nei [[kompiliatorius]], kuris vieną kartą programinius [[Išeitinis kodas|išeities kodus]] paverčia kompiuteriui suprantamomis instrukcijomis ir gautą [[Programinė įranga|programą]] galima vykdyti neribotą kiekį kartų be kompiliatoriaus įsikišimo, interpretatorius išeities kodą verčia instrukcijomis kiekvieno vykdymo metu.

'''Interpretatorius''' – programa, vykdanti kitas programas. Skirtingai nei [[kompiliatorius]], kuris vieną kartą programinius [[Išeitinis kodas|išeities kodus]] paverčia kompiuteriui suprantamomis instrukcijomis ir gautą [[Programinė įranga|programą]] galima vykdyti neribotą kiekį kartų be kompiliatoriaus įsikišimo, interpretatorius išeities kodą verčia instrukcijomis kiekvieno vykdymo metu.


== Palyginimas su kompiliavimu ==
== 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.
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 modifikuojanti programa|save modifikuojančias programas]]. Interpretuojami metodai leidžia žymiai laisviau naudoti duomenų tipų konversiją, kurti universalias prodedūras.
Interpretatoriai leidžia nesunkiai panaudoti ir kai kuriuos programavimo metodus, kurie neįmanomi naudojant kompiliatorius, pvz., kurti [[Save modifikuojanti programa|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 (kalba)|C]]. Nepaisant to, interpretuojamos programos gali turėti specifinių klaidų, susijusių su sintaksine analize vykdymo metu: tokios klaidos kompiliuojamose programose neįmanomos.
Klaidų, ypač loginių, paieška, naudojant interpretatorius, taip pat žymiai lengvesnė, todėl kuriami interpretatoriai, skirti kompiliuojamoms kalboms, pvz., [[C (kalba)|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 ==
== Susiję vykdymo metodai ==
Yra kelios sąlyginai naujos technologijos, daugiau ar mažiau artimos interpretavimui:
Yra kelios sąlyginai naujos technologijos, daugiau ar mažiau artimos interpretavimui:
* [[dinaminis kompiliavimas]] (angl. ''Just in Time compilation''), kur programa ar jos moduliai [[kompiliatorius|kompiliuojami]] prieš pat vykdymą trina ribą tarp kompiliavimo ir interpretavimo.
* [[dinaminis kompiliavimas]] ({{en|Just in Time compilation}}), kur programa ar jos moduliai [[kompiliatorius|kompiliuojami]] prieš pat vykdymą trina ribą tarp kompiliavimo ir interpretavimo.
* Kompiliavimas į [[Pseudokodas|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.
* Kompiliavimas į [[Pseudokodas|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 [[Objektinis dispečeris|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.
* Vykdymas, naudojant [[Objektinis dispečeris|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.
Eilutė 17: Eilutė 18:


== Interpretuojamos kalbos ==
== Interpretuojamos kalbos ==
''Pagrindinis straipsnis: [[Interpretuojamos kalbos]]''
{{main|Interpretuojamos kalbos}}


Kelios tipinės interpretuojamos kalbos:
Kelios tipinės interpretuojamos kalbos:
Eilutė 28: Eilutė 29:
* [[Perl]]
* [[Perl]]
* [[Python]]
* [[Python]]
* [[Java (kalba)|Java]] (dažniausiai vykdymo metu kompiliuojama)
* [[Java (programavimo kalba)|Java]] (dažniausiai vykdymo metu kompiliuojama)
* [[.NET šeimos kalbos]] (kompiliuojama prieš pirmą kartą naudojant)
* [[.NET šeimos kalbos]] (kompiliuojama prieš pirmą kartą naudojant)


== Taip pat skaitykite ==
==Susiję straipsniai==
*[[Programavimo kalba|Programavimo kalbos]]
* [[Programavimo kalba|Programavimo kalbos]]

[[Category:Programavimas]]


[[Kategorija:Programavimas]]
[[ar:مفسر (برمجة)]]
[[cs:Interpret]]
[[da:Fortolker]]
[[de:Interpreter]]
[[en:Interpreter (computing)]]
[[es:Intérprete informático]]
[[et:Interpretaator]]
[[fi:Ohjelmointikielen tulkki]]
[[fr:Interprète (informatique)]]
[[he:מפרש (תוכנה)]]
[[is:Túlkur (tölvunarfræði)]]
[[ja:インタプリタ]]
[[ko:인터프리터]]
[[nl:Interpreter]]
[[pl:Interpreter]]
[[pt:Interpretador]]
[[ru:Интерпретатор]]
[[sr:Интерпретер]]
[[sv:Interpretator]]
[[th:อินเทอร์พรีเตอร์]]
[[uk:Інтерпретатор]]
[[vi:Trình thông dịch]]
[[zh:直譯器]]

Dabartinė 14:24, 26 lapkričio 2022 versija

   Šiam straipsniui ar jo daliai trūksta išnašų į patikimus šaltinius.
Jūs galite padėti Vikipedijai pridėdami tinkamas išnašas su šaltiniais.

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[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ą]

Pagrindinis straipsnis – Interpretuojamos kalbos.

Kelios tipinės interpretuojamos kalbos:

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

Taip pat skaitykite[redaguoti | redaguoti vikitekstą]