Interpreter (program komputerowy)
- l`rby@
- Az@rbaycanca
- B'lgarski
- baaNlaa
- Bosanski
- Catala
- Cestina
- Dansk
- Deutsch
- Ellenika
- English
- Esperanto
- Espanol
- Eesti
- Euskara
- frsy
- Suomi
- Francais
- Gaeilge
- Galego
- `bryt
- Hrvatski
- Magyar
- Hayeren
- Bahasa Indonesia
- Ilokano
- Ido
- Islenska
- Italiano
- Ri Ben Yu
- Qaraqalpaqsha
- K'azak'sha
- hangugeo
- Kyrgyzcha
- Lietuviu
- mlyaallN
- Bahasa Melayu
- Mirandes
- Nederlands
- Norsk bokmal
- pNjaabii
- Portugues
- Romana
- Russkii
- siNhl
- Simple English
- Slovencina
- Slovenscina
- Shqip
- Srpski / srpski
- Svenska
- tmilll
- Toch'iki
- aithy
- Turkce
- Ukrayins'ka
- rdw
- O`zbekcha / uzbekcha
- Tieng Viet
- Wu Yu
- Min Nan Yu / Ban-lam-gi
- Yue Yu
- Zhong Wen
Interpreter - program komputerowy wykonujacy inne programy. Jest kluczowym elementem znacznej czesci implementacji jezykow skryptowych[1][2] oraz jezykow kompilowanych do kodu bajtowego[1][3][4][5].
Wydajnosc
[edytuj | edytuj kod]Dokladniejsze informacje o tym, co nalezy poprawic, byc moze znajduja sie w dyskusji tej sekcji.
Po wyeliminowaniu niedoskonalosci nalezy usunac szablon {{Dopracowac}} z tej sekcji.
Interpreter analizuje kod zrodlowy programu, a przeanalizowane fragmenty wykonuje. Realizowane jest to w inny sposob niz w procesie kompilacji, podczas ktorego nie wykonuje sie wejsciowego programu (kodu zrodlowego), lecz tlumaczy go do wykonywalnego kodu maszynowego lub kodu posredniego, ktory jest nastepnie zapisywany do pliku w celu pozniejszego wykonania.
Wykonanie programu za pomoca interpretera jest wolniejsze, a do tego zajmuje wiecej zasobow systemowych niz wykonanie kodu skompilowanego, lecz moze zajac relatywnie mniej czasu niz kompilacja i uruchomienie. Jest to zwlaszcza wazne przy tworzeniu i testowaniu kodu, kiedy cykl edycja-interpretacja-debugowanie moze czesto byc znacznie krotszy niz cykl edycja-kompilacja-uruchomienie-debugowanie.
Interpretacja kodu programu jest wolniejsza od uruchamiania skompilowanego kodu, poniewaz interpreter musi najpierw przeanalizowac kazde wyrazenie i dopiero na tej podstawie wykonac odpowiednie akcje, a kod skompilowany wykonuje wylacznie akcje. W implementacjach bedacych w pelni interpreterami wielokrotne wykonanie tego samego fragmentu kodu wymaga wielokrotnej interpretacji tego samego tekstu. Ta analiza nazywana jest ,,kosztem interpretacji". Dostep do zmiennych jest takze wolniejszy w przypadku interpretera, gdyz odwzorowanie identyfikatorow na miejsca w pamieci operacyjnej musi zostac dokonane podczas uruchomienia lub dzialania, a nie podczas kompilacji, dlatego niektore interpretery tworza dodatkowe dane (np. adresy zmiennych) przyspieszajace wykonanie programu[6].
Zobacz tez
[edytuj | edytuj kod]Przypisy
[edytuj | edytuj kod]- | 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.).
- | 3.7 Executing Commands, [w:] Bash Reference Manual, GNU.org [dostep 2020-04-21] (ang.), "Shell" zgodnie ze wstepem jest rownowazny "Command Line Interpreter".
- | Glossary [online], Python 3.8.2 documentation [dostep 2020-04-21] (ang.).
- | 3.3.2 - Chunks, [w:] Lua 5.3 Reference Manual, The Programming Language Lua, 26 czerwca 2018 [dostep 2020-04-21] (ang.).
- | Byte Compilation, [w:] Emacs Lisp, GNU.org [dostep 2020-04-21] (ang.).
- | interpreter [online], FOLDOC - Free On-Line Dictionary Of Computing, 30 stycznia 1995 .