Інтерпретатор
Деякі думають, що текст, написаний в середовищі програмування на мові програмування, є програмою. Насправді ми створюємо тільки текст програми або алгоритми дій, а вже все це зчитує інтерпретатор і формулює текст програми в саму програму.
Існують 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. Тип реалізації транслятора мови програмування високого рівня, при якім не існує окремо тексту програми машинною мовою ( як у компілятора), а існує вихідний текст; машина намагається виконувати кожну язикову команду, представляючи (інтерпретуючи) її в командах нижнього рівня.
У цьому змісті операційна система — це інтерпретатор, що працює з файлами.
Вибудовується наступна схема:
на нижньому рівні процесор інтерпретує вхідні сигнали у вихідні;
на наступному рівні перебуває програмний засіб, називаний операційною системою, яке текст (наприклад, ім\’я програми, що запускається) інтерпретує в результат;
на третьому рівні може перебувати ще одна мова-інтерпретатор (наприклад, Бейсик) і в ньому може інтерпретуватися програма користувача.
Існують комп’ютери, у яких операційна система сполучена з мовою Бейсик, що зменшує кількість інтерпретацій.
Гідності мови інтерпретуючого типу: програма існує тільки мовою інтерпретатора, що спрощує роботу.
Недолік: повільна швидкість виконання програми, оскільки щораз при запуску програми необхідно проводити трансляцію, тобто трансляція проходить безпосередньо перед моментом виконання кожної команди.