Interpretator
Från Rilpedia
En interpretator eller programtolk är ett datorprogram som utför de aktiviteter som en viss programtext (så kallad källkod) beskriver. Detta till skillnad mot en kompilator som översätter programtexten till maskinkod så att den senare kan exekveras direkt på CPU-nivå, något som ofta ger betydligt bättre prestanda.
För användaren av programmet tar det normalt längre tid att köra ett program med en interpretator än att köra motsvarande program som kompilerad maskinkod. En interpretator kan dock spara tid för utvecklaren eller programmeraren eftersom den inte kräver det (ibland) tidskrävande kompileringssteget och därmed spar tid vid testning och avlusning av programsekvenser och algoritmer.
Alla språk kan i princip interpreteras. Exempel på programspråk som typiskt körs via interpretator är Basic, JavaScript och olika kommandotolkar i operativsystem.
En interpretator kan också tolka kod som är förkompilerad till så kallad intermedärkod (eller bytekod). Detta erbjuder flera fördelar; den kod man behöver lagra och eventuellt distribuera kan vara mycket kompakt, och kan framför allt vara neutral i förhållande till processor. För webbapplikationer är detta särskilt viktigt, då de laddas till den dator de körs i det ögonblick användaren startar programmet. Koden är samtidigt effektiv att utföra. Det är möjligt att som alternativ kompilera till maskinkod och sedan köra den, men detta brukar oftast inte utnyttjas. Exempel på språk som interpreterats genom intermedärkod är Java, C# och Pascal.