Інтерпретатор

Деякі думають, що текст, написаний в середовищі програмування на мові програмування, є програмою. Насправді ми створюємо тільки текст програми або алгоритми дій, а вже все це зчитує інтерпретатор і формулює текст програми в саму програму.
Існують 2 типу зчитування мови програмування: компілятор і інтерпретатор. Інтерпретатор, на відміну від компілятора, бере рядок програми, аналізує і виконує, і тільки потім переходить до іншого рядку програми. Цікаво те, що зустрівши один і той же оператор, інтерпретатор виконає його по новій. Отже, відразу видно мінус такого виконання інтерпретації – якщо в програмі буде потрібно велике виконання операцій обчислення, то це займе порівняно велику кількість часу. Компілятор, у свою чергу, зчитує весь текст програми і переводить його в так званий машинний код. Плюс такого перетворення в швидкості – програма виконається швидше, ніж при інтерпретації, але так само присутній вагомий мінус – при компіляції програми, весь текст перекладається в машинний код, як вже було сказано раніше, і змін цей код вже не припускає. Таким чином, якщо створюється програма, структура якої передбачає зміни в майбутньому, то компілятор вкрай не рекомендований для зчитування тексту програми в такому випадку, так як вносити зміни в машинний код вкрай важко, а часом – неможливо, в той час, як при інтерпретації програми, можна зупинити її в будь-який момент і повернутися до попереднього оператору, повернутися до початку програми і т.д.
Одним з недоліків інтерпретатора є те, що, якщо ви вирішили запустити програму, то вам знадобиться програма-інтерпретатор, так як в іншому випадку запуск програми неможливий. У той час при компіляції програмного тексту і подальшому запуску ніякої особливої ​​програми-помічника не потрібно, адже компіляцію виконує операційна система, але тут же і мінус – скомпільована програма на одній операційній системі на інший працювати не буде.

Також існує командний інтерпретатор – це свого роду \”провідник\” між системою і користувачем. Його роль така: очікування тих чи інших командних дій і моментальне їх виконання (зазвичай, такі дії – виклик інших програм). Існує безліч різних видів інтерпретаторів, ось деякі з них: Bourne Shell, Bourne-Again SHell, C Shell, Z shell, Not A Shell та ін. Shell з англійської – оболонка.

За фактом заходження користувача в систему викликається командний інтерпретатор.

Існують різні комбінації клавіш для виконання тих чи інших дій:

Комбінація клавіш

Виконуємі дії

Ctrl-a (Home) | Ctrl-e (End)Переходить до початку або кінця рідка
Ctrl-b (вліво) | Ctrl-f (вправо)Переходить на один символ вліво або, відповідно, вправо
Meta-b |Meta-fПереходить на слово вліво або вправо
Ctrl-lОчищає весь екран
Ctrl-d (Delete)Видаляє символ там, де знаходиться курсор
Ctrl-k | Ctrl-x BackSpaceВидаляє до кінця або початку лінії
Ctrl-yВставляє останній видалений фрагмент
вгоруЗ історії витягує попередню команду і повертається на 1 команду назад
внизВитягує наступну команду і пересувається вперед
Page UpПереходить до самого початку історії і витягує першу команду
Page DownПереходить до рядку який зараз редагується
Ctrl-rШукає потрібний текст в історії починаючи з останнього рядка (зворотний пошук)
Ctrl-sШукає потрібний текст в історії починаючи з першого рядка (прямий пошук)
Meta-Ctrl-yВставляє перший аргумент останньої введеної команди (друге слово)
Meta-.Вставляє останній аргумент останньої введеної команди (останнє слово)
Ctrl-oВиконує введений рядок і переходить до наступного

Таким чином, інтерпретатор:

1. Пристрій, що має повідомлення на вході й перетворює його в інше на виході.

У цьому змісті кожний комп’ютер — інтерпретатор.

2. Тип реалізації транслятора мови програмування високого рівня, при якім не існує окремо тексту програми машинною мовою ( як у компілятора), а існує вихідний текст; машина намагається виконувати кожну язикову команду, представляючи (інтерпретуючи) її в командах нижнього рівня.

У цьому змісті операційна система — це інтерпретатор, що працює з файлами.

Вибудовується наступна схема:

на нижньому рівні процесор інтерпретує вхідні сигнали у вихідні;

на наступному рівні перебуває програмний засіб, називаний операційною системою, яке текст (наприклад, ім\’я програми, що запускається) інтерпретує в результат;

на третьому рівні може перебувати ще одна мова-інтерпретатор (наприклад, Бейсик) і в ньому може інтерпретуватися програма користувача.

Існують комп’ютери, у яких операційна система сполучена з мовою Бейсик, що зменшує кількість інтерпретацій.

Гідності мови інтерпретуючого типу: програма існує тільки мовою інтерпретатора, що спрощує роботу.

Недолік: повільна швидкість виконання програми, оскільки щораз при запуску програми необхідно проводити трансляцію, тобто трансляція проходить безпосередньо перед моментом виконання кожної команди.

Самі характерні приклади інтерпретаторів — багато реалізацій мови Бейсик (Msx-basic, Gw-basic), хоча існують реалізації, що підтримують компіляцію (Quickbasic, Turbobasic).
Попередня стаття
Наступна стаття