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