📑 Table of Contents

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

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

Przypisy

edytuj
  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.

📚 Artikel Terkait di Wikipedia

Bill Gates

emulator Altaira, który uruchomili na minikomputerze, a potem napisali interpreter BASICa. Pokaz w siedzibie MITS w Albuquerque udał się, co skutkowało

Unix

hierarchiczny system plików, zalążek mechanizmu procesów i plików urządzeń, interpreter wiersza poleceń oraz kilka programów narzędziowych. System początkowo

Translator (informatyka)

Andrzej Pilaszek. Interpreter, kompilator, assembler (1). „Bajtek”. 8/87. s. 20. [dostęp 2026-02-21].  Andrzej Pilaszek. Interpreter, kompilator, assembler

ARexx

ARexx – interpreter języka REXX na platformę Amiga napisana w 1987 roku przez Williama S. Hawesa. Posiada dodatkowe możliwości związane ze specyfiką platformy

Altair 8800

przez niewielkie wówczas przedsiębiorstwo Billa Gatesa i Paula Allena, interpreter języka programowania Microsoft BASIC, znany też jako Altair BASIC. W

Itanium 2

(również w wersji PA-RISC, dzięki opracowanemu przez firmę Hewlett-Packard interpreterowi ARIES), Windows Server 2008, OpenVMS, NonStop OS, Bull GCOS, NEC ACOS

C (język programowania)

oznaczano w taki sam sposób, a odpowiednie działanie było wybierane przez interpreter, w zależności od kontekstu. Kompilator C, wraz z kilkoma programami napisanymi

TRS-80

resetować a jego praca nie była stabilna. Komputer posiadał wbudowany interpreter języka BASIC. Początkowo dostępny był BASIC Level 1. Mieścił się on w