Interpreter

Z Wikipedii

Skocz do: nawigacji, szukaj

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 lub kodu pośredniego, 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 będących w pełni interpreterami wykonanie wielokrotne tego samego fragmentu kodu wymaga wielokrotnej interpretacji tekstu. Ta analiza nazywana jest "kosztem 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.

[edytuj] Zobacz też