Értelmező (informatika)

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

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

  • 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)
    • thinBasic
  • CYBOL
  • ECMAScript
  • 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)
    • Bistro
    • F-Script
    • Little Smalltalk
    • Squeak
    • VisualAge
    • VisualWorks
  • Interpreteres nyelvek, parancsértelmezők
  • Spreadsheets
    • Excel – formulákat tárol, értelmezi őket egy jelekre leképzett formátum segítségével
  • Tcl
    • XOTcl

Virtuális gépi kódra fordított nyelvek

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).

Kapcsolódó szócikkek