Értelmező
Az értelmező, értelmező program (angolul interpreter) olyan program (ritkábban beépített hardver), ami képes arra, hogy az általa felismert nyelven megfogalmazott 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á.
Tartalomjegyzék
Értelmezőkhöz illeszkedő nyelvek jellemzői[szerkesztés]
Az é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ább is 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és]
Sok é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).