Interpreter
Z Wikipedii
Interpreter – to program komputerowy, który analizuje kod źródłowy programu a przeanalizowane fragmenty wykonuje.
Inaczej niż podczas procesu kompilacji, podczas którego nie wykonuje się wejściowego programu (kodu źródłowego) lecz tłumaczy go do wykonywalnego kodu maszynowego, który jest następnie zapisywany do pliku w celu późniejszego wykonania.
Wykonanie programu za pomocą interpretera jest wolniejsze a do tego zajmuje więcej zasobów systemowych niż wykonanie kodu skompilowanego, lecz może zająć relatywnie mniej czasu niż kompilacja i uruchomienie. Jest to zwłaszcza ważne przy tworzeniu i testowaniu kodu kiedy cykl edycja-interpretacja-debugowanie może często być znacznie krótszy niż cykl edycja-kompilacja-uruchomienie-debugowanie.
Interpretacja kodu jest wolniejsza niż uruchamianie skompilowanego kodu ponieważ interpreter musi analizować każde wyrażenie i następnie wykonać akcję, a kod skompilowany jedynie wykonuje akcję. W implementacjach w będących w pełni interpreterami wykonanie wielokrotne tego samego fragmentu kodu wymaga wielokrotnej interpretacji tekstu. Ta analiza w jest zwana "koszt interpretacji". Dostęp do zmiennych jest także wolniejszy w interpreterze gdyż odwzorowanie identyfikatorów na miejsca pamięci musi zostać dokonane podczas uruchomienia lub pracy a nie podczas kompilacji. Dlatego niektóre interpretery tworzą dodatkowe dane (np. adresy zmiennych) przyspieszające wykonanie programu.