Interpreter

Uit Wikipedia, de vrije encyclopedie
Ga naar: navigatie, zoeken

Een interpreter is een computerprogramma dat broncode van computerprogramma's vertaalt in een voor de processor begrijpelijke vorm en meteen uitvoert, in tegenstelling tot een compiler, die programma's opslaat in een dergelijke vorm.

Voor- en nadelen van interpreters[bewerken]

Interpreters zijn flexibeler maar minder efficiënt dan compilers. Sommige programmeertalen lenen zich meer voor interpreters, omdat een interpreter tijdens uitvoering beschikbaar is om bepaalde diensten te verlenen, en een compiler niet. Andere programmeertalen lenen zich meer voor compilers, bijvoorbeeld als "strong typing" wordt toegepast. Bij herhaald gebruik van een programma is het een nadeel dat een interpreter de instructies telkens opnieuw omzet, terwijl dat bij een compiler maar eenmaal gebeurt, en het programma in vertaalde vorm bewaard wordt voor herhaalde uitvoering.

Geschiedenis[bewerken]

In 1963 kwam de eerste interpreter voor BASIC uit, waarna vele interpreters volgden (bijvoorbeeld voor de programmeertaal Logo). Hoewel het idee achter interpreters al erg oud is, zijn ze nog heel populair. Getuige hiervan JavaScript, dat tegenwoordig ondersteund wordt door alle state-of-the-art webbrowsers. Ook voor Python wordt doorgaans een interpreter gebruikt.

Nuancering[bewerken]

Strikt genomen vindt op een bepaald niveau altijd een vorm van interpretatie plaats bij de verwerking van computerprogramma's. Ook de objectcode van gecompileerde programma's wordt uiteindelijk bij uitvoering geïnterpreteerd. In een Complex Instruction Set Computer (CISC) zijn de instructies die de computer kan interpreteren nog betrekkelijk ingewikkeld. Nieuwer is een Reduced Instruction Set Computer (RISC), die slechts zeer elementaire instructies verwerkt. Dit betekent dat de compiler meer werk moet doen en het programma groter wordt. De snelheid bij uitvoering neemt echter toe omdat er bij uitvoering van de objectcode minder interpretatiewerk plaats behoeft te vinden.

Anderzijds begint een moderne interpreter veelal met het omzetten van de broncode naar een eenvoudiger tussenvorm.

Onder andere in verband met de beperkte geheugencapaciteit (kostbaar) van de eerste computers werd een te interpreteren programma in de computers vaak met zogenaamde tokens opgeslagen in plaats van de volledige instructies. Een 'print' instructie werd bijvoorbeeld opgeslagen als getal/token 178. Dit versnelde ook de uitvoer omdat in plaats van vijf geheugenplaatsen in dit voorbeeld ('print') slechts één geheugenplaats uitgelezen en geïnterpreteerd hoeft te worden.