Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Tlmočník je počítačový program, ktorý priamo vykonáva pokyny napísané v programovacom jazyku, riadku podľa riadku (alebo príkazu podľa príkazu), bez toho, aby sa najprv premieňal celý zdrojový kód do strojového kódu. Číta kód, analyzuje ho (analyzuje syntax) a potom okamžite vykoná akcie zadané kódom.
Kľúčové charakteristiky tlmočníkov:
* Vykonanie riadku: Tlmočník číta a vykoná programový kód jeden riadok súčasne.
* Žiadne generovanie stredného kódu: Na rozdiel od kompilátorov, tlmočníci nevytvárajú samostatný spustiteľný súbor súbor alebo kód objektu.
* Dynamická interpretácia: Proces interpretácie dochádza počas behu. Tlmočník analyzuje kód a vykonáva akcie, ako sa program vykonáva.
* Okamžité vykonanie: Zmeny vykonané v zdrojovom kóde je možné vidieť okamžite po uložení (zvyčajne).
Tu je rozklad procesu:
1. Prečítajte si riadok/výpis: Tlmočník číta ďalšiu inštrukciu zo zdrojového kódu.
2. analyzujte pokyny: Skontroluje syntax a zaisťuje platnú inštrukciu.
3. Vykonajte pokyny: Tlmočník vykonáva operáciu určenú inštrukciou.
4. Opakujte: Kroky 1-3 sa opakujú pre každý riadok/príkaz, kým sa nevykoná celý program alebo sa nedôjde k chybe.
Príklad:
Predstavte si jednoduchý program Python:
`` `Python
x =5
y =10
tlač (x + y)
`` `
Ak tento program riadi tlmočník Python:
1. Tlmočník číta `x =5`.
2. Parieža riadok a priradí hodnotu 5 k premennej `x`.
3. Tlmočník číta `y =10`.
4. Parózuje riadok a priradí hodnotu 10 k premennej `y`.
5. Tlmočník znie `tlač (x + y)`.
6. Parózuje riadok, vyhodnocuje `x + y` (čo je 15) a potom volá funkciu„ print`, aby sa zobrazil výsledok.
Primárny rozdiel medzi tlmočníkmi a kompilátormi spočíva v tom, ako zvládajú vykonávanie programu:
| Funkcia | Tlmočník Kompilátor
| ---------------- | --------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
| preklad | Vykonanie riadku po linke; Žiadne samostatné spustiteľné. | Prekladá celý zdrojový kód do strojového kódu alebo medziprodukt * pred * pred * vykonaním. |
| Vykonanie | Vykonáva priamo počas runtime. | Spustite kompilovaný kód neskôr ako samostatný proces. |
| Manipulácia s chybami | Počas behu sa zistia chyby. | Počas kompilácie sa zistia chyby a ak existujú chyby, zabráni sa vykonávaniu
| rýchlosť | Spravidla pomalšia rýchlosť vykonávania. | Spravidla rýchlejšia rýchlosť vykonávania, pretože kód je už preložený. |
| prenosnosť | Vysoko prenosné (beží v ľubovoľnom systéme s tlmočníkom) | Menej prenosné; Vyžaduje rekompilovanie pre každú cieľovú platformu. |
| ladenie | Ľahšie ladenie; Chyby je možné okamžite určiť Ladenie môže byť zložitejšie, pretože ladíte kompilovaný výstup. |
| Použitie pamäte | Môže mať nižšiu počiatočnú pamäťovú stopu, pretože načíta kód na požiadanie Počas kompilácie môže vyžadovať viac pamäte na vytvorenie medziproduktu/strojového kódu. |
| Vývojový cyklus | Rýchlejšie vývojové cykly, pretože zmeny sú okamžite viditeľné Dlhšie vývojové cykly, pretože každá zmena kódu je potrebné pred spustením prekompilovať
| príklady | Python, JavaScript, Ruby, Php | C, C ++, Java (kompilácie do bytecode), choď, hrdza |
Stručne povedané:
* tlmočník: Priamo vykonáva kód, riadok po riadku. Dobré pre rýchly vývoj a prenosnosť, ale potenciálne pomalšie.
* kompilátor: Prekladá celý program do strojového kódu pred vykonaním. Výsledkom je rýchlejšie vykonávanie, ale menej prenosný a dlhší vývojový cyklus.
Analogia:
Predstavte si, že máte knihu napísanú v cudzom jazyku.
* tlmočník: Najmete prekladateľa, ktorý vám nahlas číta knihu, a prekladá jednu vetu naraz, keď idú.
* kompilátor: Celú knihu máte vopred preloženú do svojho rodného jazyka. Potom si môžete prečítať preloženú verziu sami bez toho, aby ste potrebovali prítomnosť prekladateľa.
hybridné prístupy:
Je tiež dôležité poznamenať, že niektoré jazyky používajú hybridný prístup. Napríklad Java je zostavená do bytecode, ktorý sa potom interpretuje virtuálnym počítačom Java (JVM). To kombinuje výhody kompilácie (rýchlejšie vykonávanie) a interpretácie (nezávislosť platformy).