Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпора_экз.docx
Скачиваний:
2
Добавлен:
31.07.2019
Размер:
42.24 Кб
Скачать

Компілятори інтерпретатори, основні поняття.

Транслятори – це програми, які перетворюють вхідний текст у мову, яку розуміє процесор. Транслятор = компілятор+інтерпретатор.

Інтерпретатор – перекладає і виконує програму рядок за рядком.

Інтерпретатори можуть працювати як з сирцевим кодом програми, написаним мовою програмування, так і з байт-кодом (інтерпретатори байт-коду).

Компілятор – читає всю програму одразу, виконує її переклад та створює кінцевий варіант програми на машинній мові, який згодом і виконується. Цей процес називають компіляцією (трансляцією, перекладом). Він складається з двох частин:

  1. Аналіз – розбиття початкової програми на складові частини та створення проміжного представлення

  2. Синтез – побудова цільової програми з проміжного представлення

Фази компіляції:

  1. Лексичний аналізатор

  2. Синтаксичний аналізатор

  3. Семантичний аналізатор

  4. Генератор проміжного коду

  5. Оптимізатор

  6. Генератор цільового коду

----------------------------------------------------

Списки, черги основні поняття. Приклади реалізації.

Черга в програмуванні — динамічна структура даних, що працює за принципом "перший прийшов - перший пішов" (англ. FIFO — first in, first out). У черги є голова та хвіст. Елемент, що додається до черги, опиняється в її хвості. Елемент, що видаляється з черги, знаходиться в її голові.

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

  • "поставити в чергу". Операція додавання елемента в "хвіст" черги. При цьому довжина черги збільшується на одиницю. Якщо відбувається намагання додати елемент у вже заповнену чергу, відбувається її переповнення.

  • "отримання з черги". Операція, яка повертає елемент з голови та видаляє його з черги, таким чином встановлюючи голову на наступний за видаленим елемент та зменшуючи довжину на одиницю. При намаганні видалити елемент з пустої черги, виникає ситуація "незаповнення"

Зв'язаний список в програмуванні — одна з найважливіших структур даних, в якій елементи лінійно впорядковані, але порядок визначається не номерами елементів, а вказівниками, які входять в склад елементів списку та вказують на наступний за даним елемент (в однозв'язаних або однобічно зв'язаних списках) або на наступний та попередній елементи (в двозв'язаних або двобічно зв'язаних списках). Список має «голову» — перший елемент та «хвіст» — останній елемент.

Зворотня польська нотація. Основні поняття , використання.

1+АВ – префіксна, АВ+ - постфіксна, А+В – інфіксна.

Властивості:

  1. Обчислення виразу за 1 прохід.

  2. Одержати зворотній польський запис використовуючи алгоритм Дейкстри.

( 0, ) 1, +- 2, */ 3, ** 4.

Вхідний рядок переглядається зліва направо при цьому операнди переписуються в вихідний рядок, а знаки операцій в стек заносяться у правилах:

  1. Якщо стек порожній, то операція з вхідного рядка у стек.

  2. Операція виштовхує зі стека в вихідний рядок з більшими чи рівним пріоритетом.

  3. Якщо черговий символ вхідного рядка є ( вона поміщається в стек.

  4. ) виштовхує від операції зі стека до найближчої (.

----------------------------------------------------