- •Скінчені детерміновані автомати. Математична модель, форми представлення. Оптимізація.
- •Формальне визначення
- •Приклад
- •Переваги і недоліки
- •Стекові автомати. Представлення, операції, принцип роботи. Магазинний автомат (ма)
- •Стековий автомат (са)
- •Організація автомата з магазинною пам'яттю
- •Операції автомата
- •Регулярні вирази та граматики. Синтаксичні діаграми.
- •Синтаксис регулярних висловів
- •Модель мовного транслятора. Фази мовного аналізу.
- •Представлення синтаксичної структури формальної мови. Форма Бекуса-Наура.
- •Представлення проміжного коду. Елементарні операції, польський запис.
- •Формування проміжного коду
- •Поняття оптимізації проміжного коду. Оптимізаційні операції.
- •Графічне представлення лінійних ділянок проміжного коду. Перетворення на графах.
- •Загальна модель операційної системи. Загальна та машинно-залежна складові.
- •Забезпечення функцій ос. Управління пам’яттю та зовнішніми пристроями.
- •Підсистема управління оперативною пам'яттю
-
Стекові автомати. Представлення, операції, принцип роботи. Магазинний автомат (ма)
Такий автомат має обмежений набір операцій зі стрічкою, а саме:
-
Дописати символ в кінці робочої зони, і пересунутись вправо.
-
Пересунутись вліво, і витерти символ під голівкою (замінити на λ).
За допомогою автомата з двома магазинами можна промоделювати роботу машини Тьюрінга.
Магазин з унарним алфавітом називається лічильником. Два лічильники можуть промоделювати роботу магазину.
Стековий автомат (са)
Аналогічний МА, але крім цього вміє читати символи з середини стрічки.
Організація автомата з магазинною пам'яттю
АМП як робочу пам'ять використовує стек (магазин). Така пам'ять підтримує тільки обмежені операції доступу, що є достатніми для розв'язання складних задач, включаючи і задачі розпізнавання ланцюжків. Автомат з магазинною пам'яттю визначається наступними п'ятьма об'єктами:
-
Кінцевою множиною вхідних символів, що включає маркер кінця (┤).
-
Кінцевою множиною магазинних символів, що включають маркер дна (С).
-
Кінцевою множиною станів, що включає початковий стан
-
Пристроєм управління (ПУ), що кожній комбінації вхідного символу, магазинного символу і стану ставить у відповідність вихід чи перехід. Перехід, на відміну від виходу, полягає у виконанні операцій над магазином, станом і входом. Операції, що запитують вхідний символ після кінцевого маркера чи виштовхування з магазина після маркера дна, а також операція вштовхування маркера дна, виключаються
5. Початковим умістом магазина, що містить маркер дна і ланцюжок магазинних символів (можливо порожній).
Автомат з магазинною пам'яттю називається розпізнавачем, якщо він має ще й два виходи: "Допустити" та "Відкинути".
Операції автомата
Динамічна поведінка АМП описується його операціями над вхідним ланцюжком і стеком, а також переходами з одного стану в інший. До операцій над стеком відносяться:
-
"Виштовхнути" - виштовхує зі стека верхній символ (будемо також використовувати скорочене позначення "↑").
-
"Заштовхнути А" - вштовхує в стек магазинний символ А (будемо також використовувати скорочене позначення "↓А").
-
"Замінити XYZ" - використовується для скорочення запису, коли необхідно виштовхнути верхній символ і замість нього вштовхнути кілька інших (у даному випадку X, Y, Z). Еквівалент: ↑↓X↓Y↓Z (скорочено позначимо: ↕ XYZ).
Перехід АМП з одного стану в інший вказується явно операцією "Стан t", де t - новий стан автомата (будемо скорочувати текст даної операції до "[t]").
Зсув вхідної голівки на один символ вправо щодо вхідної стрічки задається операцією "Зсув" (скоротимо до "→"). Після її виконання поточним символом стає наступний символ на вхідній стрічці. Іншою операцією над вхідною голівкою є "Тримати", яка не змінює становище вхідної голівки до наступного кроку (можна просто не писати, якщо немає зсуву).
Перехід чи крок автомата - це виконання операцій над стеком і вхідною голівкою, а також зміна стану. При цьому не обов'язково, щоб за один крок відбувалися всі зміни. Можливо: або вхідна голівка залишиться на місці, або не відбудеться операції над стеком, або не зміниться стан.