Відмінності між версіями «Інтерпретатори»
Рядок 1: | Рядок 1: | ||
− | ''' | + | Поняття '''"інтерпретатор"''' має наступні визначення: |
− | + | - програма або технічний засіб, яке виконує інтерпретацію; | |
− | + | ||
− | + | - вид транслятора, який виконує покомандну обробку і виконання вихідної програми чи запиту; | |
− | + | ||
+ | - програма, яка аналізує команди чи оператори прграми і відразу ж виконує їх; | ||
+ | |||
+ | - мовний процесор, який пострічно аналізує вихідну програму і одночасно ж виконує записані дії, а не форматує на машинній мові скомпільовану програму, яка виконується потім. | ||
== Типи інтерпретаторів == | == Типи інтерпретаторів == | ||
− | '''Простий інтерпретатор''' аналізує і відразу ж виконує програму покомандно, по мірі поступання її вихідного коду на вхід інтерпретатора. | + | '''Простий інтерпретатор''' аналізує і відразу ж виконує програму покомандно, по мірі поступання її вихідного коду на вхід інтерпретатора. Перевага такого підходу - миттєва реакція. Помилки у тексті програми знаходяться тільки при спробі виконання помилкової команди. |
− | '''Інтерпретатор компілюючого типу'''-система із компілятора, який переводить вихідний код програми в проміжне представлення, наприклад, байт-код чи р-код, і власне інтерпретатора, який виконує отриманий проміжний код. Перевагами є більша швидкодія виконання програм. | + | '''Інтерпретатор компілюючого типу''' - це система із компілятора, який переводить вихідний код програми в проміжне представлення, наприклад, байт-код чи р-код, і власне інтерпретатора, який виконує отриманий проміжний код. Перевагами є більша швидкодія виконання програм. Недолік - більші вимоги до ресурсів. Використовується в Java, Tcl, Perl, REXX та в різних СУБД. |
− | У випадку поділу інтерпретатора компілюючого типу на компоненти | + | У випадку поділу інтерпретатора компілюючого типу на компоненти отримуємо компілятор мови і простий компілятор с мінімалізованим аналізом вихідного коду. При чому вихідний код для такого інтерпретатора не обов'язково повинен мати текстовий формат або бути байт-кодом, який розуміє тільки даний інтерпретатор, - це може бути машинний код якоїсь існуючої платформи. |
− | Деякі інтерпретатори можуть працювати в режимі діалогу або так званого циклу читання-вираховування-друку(REPL). В такому режимі інтерпретатор зчитує закінчену конструкцію мови, виконує її, друкує результати, після чого переходить до очікування вводу користувачем наступної конструкції. | + | Деякі інтерпретатори можуть працювати в режимі діалогу або так званого циклу читання-вираховування-друку (REPL). В такому режимі інтерпретатор зчитує закінчену конструкцію мови, виконує її, друкує результати, після чого переходить до очікування вводу користувачем наступної конструкції. |
Версія за 15:52, 6 грудня 2011
Поняття "інтерпретатор" має наступні визначення:
- програма або технічний засіб, яке виконує інтерпретацію;
- вид транслятора, який виконує покомандну обробку і виконання вихідної програми чи запиту;
- програма, яка аналізує команди чи оператори прграми і відразу ж виконує їх;
- мовний процесор, який пострічно аналізує вихідну програму і одночасно ж виконує записані дії, а не форматує на машинній мові скомпільовану програму, яка виконується потім.
Типи інтерпретаторів
Простий інтерпретатор аналізує і відразу ж виконує програму покомандно, по мірі поступання її вихідного коду на вхід інтерпретатора. Перевага такого підходу - миттєва реакція. Помилки у тексті програми знаходяться тільки при спробі виконання помилкової команди.
Інтерпретатор компілюючого типу - це система із компілятора, який переводить вихідний код програми в проміжне представлення, наприклад, байт-код чи р-код, і власне інтерпретатора, який виконує отриманий проміжний код. Перевагами є більша швидкодія виконання програм. Недолік - більші вимоги до ресурсів. Використовується в Java, Tcl, Perl, REXX та в різних СУБД. У випадку поділу інтерпретатора компілюючого типу на компоненти отримуємо компілятор мови і простий компілятор с мінімалізованим аналізом вихідного коду. При чому вихідний код для такого інтерпретатора не обов'язково повинен мати текстовий формат або бути байт-кодом, який розуміє тільки даний інтерпретатор, - це може бути машинний код якоїсь існуючої платформи. Деякі інтерпретатори можуть працювати в режимі діалогу або так званого циклу читання-вираховування-друку (REPL). В такому режимі інтерпретатор зчитує закінчену конструкцію мови, виконує її, друкує результати, після чого переходить до очікування вводу користувачем наступної конструкції.