Értelmező (informatika)
Ez a szócikk nem tünteti fel a független forrásokat, amelyeket felhasználtak a készítése során. Emiatt nem tudjuk közvetlenül ellenőrizni, hogy a szócikkben szereplő állítások helytállóak-e. Segíts megbízható forrásokat találni az állításokhoz! Lásd még: A Wikipédia nem az első közlés helye. |
Az értelmező (angolul interpreter) olyan program (ritkábban beépített hardver), ami képes arra, hogy egy meghatározott nyelven megírt utasításokat bemenő adatként kezelje, és a futtató gép saját utasításkészletének megfelelő utasítások sorozatává alakítsa át, majd ezeket az utasítássorozatokat azonnal futtassa is.
Míg egy fordítóprogram a forrásprogramokat utasításonként a futtató gép által végrehajtható (gépi kódú) utasítások sorozatává alakítja át – fordítja – azaz a forrásprogramból a futtatásra kész forma teljes egészében előáll, addig az értelmező a forrásprogramot anélkül is végrehajthatja – azonnal – hogy a teljes forrásprogramot beolvasná.
Értelmezőkhöz illeszkedő nyelvek jellemzői
szerkesztésAz értelmezett nyelvek általában bizonyos extra flexibilitással rendelkeznek a fordított nyelvekhez képest. Néhány jellemzőjük – általában – egyszerűbben megvalósíthatók értelmezővel, mint fordító programmal:
- platform függetlenség (pl.: Java byte kódja)
- "értékelő" használata (pl. eval függvény)
- dinamikus típusosság
- egyszerű hibakeresés
- kis program méret (Since interpreted languages have flexibility to choose instruction code)
- objektum polimorfizmus
- dynamic scoping
A leggyakrabban értelmezővel megvalósított nyelvek listája
szerkesztés- APL – egy speciális klaviatúrát használó, alapvetően vektor-feldolgozó nyelv
- ASP – weblapok leíró nyelve
- AWK – mintakereső- és feldolgozó nyelv
- BASIC (legalábbis az eredeti változatok, a modern BASIC változatok már nem)
- CYBOL
- ECMAScript
- ActionScript
- DMDScript
- E4X
- JavaScript (első neve Mocha, később LiveScript)
- JScript
- Matematikai egyenlet kezelő és megoldó alkalmazások
- Euphoria – értelmezett vagy fordított
- Forth (eredetileg értelmezett)
- Inform
- J – egy APL variáns.
- Lava
- Lisp
- Logo
- MUMPS (eredetileg értelmezett, a modern változatok fordítottak)
- Ruby
- JRuby (a Ruby Java implementációja)
- Smalltalk (tisztán objektumorientált, eredete a Xerox PARC)
- Interpreteres nyelvek, parancsértelmezők
- BeanShell – Java alapú scriptnyelv, interpreter és futattókörnyezet
- PowerShell – windowsos parancsnyelv és értelmező
- Spreadsheets
- Excel – formulákat tárol, értelmezi őket egy jelekre leképzett formátum segítségével
- Tcl
Virtuális gépi kódra fordított nyelvek
szerkesztésSok értelmezett nyelvet először lefordítanak valamilyen virtuális gép kódjára, amelyet aztán vagy értelmező vagy fordító hajt végre futásidő alatt (natív kód).