En fortolker (på engelsk: interpreter) er et computerprogram, der oversætter kildekode linje for linje til et maskinkodeformat med henblik på læsning og udførelse på en virtuel maskine/computer. Ofte er den virtuelle maskine en del af fortolkeren selv.
I modsætning til en compiler kører den oversatte kode ikke direkte på computeren, men køres under den fortolkerens virtuelle maskines kontrol. Moderne fortolkere benytter sig dog ofte af køretids oversættere(JIT), hvilket gør forskellen mindre klar. Grundlæggende en oversætter en fortolker hvis den oversætter ved køretid, men en compiler hvis den køres inden.
Fordelen ved fortolkeren frem for compileren er typisk, at programmerne lettere kan flyttes til andre computersystemer, da det eneste der i teorien kræves er, at fortolkeren flyttes til computertypen, hvorefter alle programmer skrevet i det fortolkede sprog kan afvikles.
Ulemperne ved fortolkere er at fejl, som en oversætter ville kunne finde, først opdages på afviklingstidspunktet.
Mange mener desuden at programkoden nødvendigvis må køre langsommere end oversat (kompileret) programkode. Akademikere påpeger dog at det må være muligt at lave en virtuel maskine der analyserer et program under kørsel og løbende, stadig under kørsel, optimerer programmet. På den måde kan der laves optimeringer som ikke er mulige ved hjælp af statisk oversættelse alene.
En fortolker af maskinkode kaldes ofte for en emulator.
Java, .NET og Javascript er nogle af de mest anvendte fortolkede programmeringsmiljøer eller sprog.
Se også
| Spire
Denne artikel om datalogi eller et datalogi-relateret emne er en spire som bør udbygges. Du er velkommen til at hjælpe Wikipedia ved at udvide den. |