For faster navigation, this Iframe is preloading the Wikiwand page for Interpreter (program komputerowy).

Interpreter (program komputerowy)

Interpreterprogram komputerowy wykonujący inne programy. Jest kluczowym elementem znacznej części implementacji języków skryptowych[1][2] oraz języków kompilowanych do kodu bajtowego[1][3][4][5].

Wydajność

[edytuj | edytuj kod]
Ta sekcja od 2020-04 może zawierać nierzetelne źródła.Informacje oparte na nierzetelnych źródłach mogą zostać usunięte. Zweryfikuj hasło i dodaj przypisy do wiarygodnych, najlepiej recenzowanych publikacji.Dokładniejsze informacje o tym, co należy poprawić, być może znajdują się w dyskusji tej sekcji. Po wyeliminowaniu niedoskonałości należy usunąć szablon ((Dopracować)) z tej sekcji.

Interpreter analizuje kod źródłowy programu, a przeanalizowane fragmenty wykonuje. Realizowane jest to w inny sposób niż w procesie 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 programu jest wolniejsza od uruchamiania skompilowanego kodu, ponieważ interpreter musi najpierw przeanalizować każde wyrażenie i dopiero na tej podstawie wykonać odpowiednie akcje, a kod skompilowany wykonuje wyłącznie akcje. W implementacjach będących w pełni interpreterami wielokrotne wykonanie tego samego fragmentu kodu wymaga wielokrotnej interpretacji tego samego tekstu. Ta analiza nazywana jest „kosztem interpretacji”. Dostęp do zmiennych jest także wolniejszy w przypadku interpretera, gdyż odwzorowanie identyfikatorów na miejsca w pamięci operacyjnej musi zostać dokonane podczas uruchomienia lub działania, a nie podczas kompilacji, dlatego niektóre interpretery tworzą dodatkowe dane (np. adresy zmiennych) przyspieszające wykonanie programu[6].

Zobacz też

[edytuj | edytuj kod]

Przypisy

[edytuj | edytuj kod]
  1. a b Overview, [w:] CS98SI: Introduction to JavaScript, Stanford University, Cytat: "an interpreter in the browser reads over the JavaScript code, interprets each line, and runs it. More modern browsers use a technology known as Just-In-Time (JIT) compilation, which compiles JavaScript to executable bytecode just as it is about to run." (ang.).
  2. 3.7 Executing Commands, [w:] Bash Reference Manual, GNU.org [dostęp 2020-04-21] (ang.), "Shell" zgodnie ze wstępem jest równoważny "Command Line Interpreter".
  3. Glossary [online], Python 3.8.2 documentation [dostęp 2020-04-21] (ang.).
  4. 3.3.2 – Chunks, [w:] Lua 5.3 Reference Manual, The Programming Language Lua, 26 czerwca 2018 [dostęp 2020-04-21] (ang.).
  5. Byte Compilation, [w:] Emacs Lisp, GNU.org [dostęp 2020-04-21] (ang.).
  6. interpreter [online], FOLDOC - Free On-Line Dictionary Of Computing, 30 stycznia 1995.
{{bottomLinkPreText}} {{bottomLinkText}}
Interpreter (program komputerowy)
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.

X

Get ready for Wikiwand 2.0 🎉! the new version arrives on September 1st! Don't want to wait?