русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Операції автомата


Дата додавання: 2014-11-28; переглядів: 809.


Динамічна поведінка АМП описується його операціями над вхідним ланцюжком і стеком, а також переходами з одного стану в інший. До операцій над стеком відносяться:

1. "Виштовхнути" - виштовхує зі стека верхній символ (будемо також використовувати скорочене позначення "↑").

2. "Заштовхнути А" - вштовхує в стек магазинний символ А (будемо також використовувати скорочене позначення "↓А").

3. "Замінити XYZ"- використовується для скорочення запису, коли необхідно виштовхнути верхній символ і замість нього вштовхнути кілька інших (у даному випадку X, Y, Z). Еквівалент:
↑↓X↓Y↓Z (скорочено позначимо: ↕ XYZ).

Перехід АМП з одного стану в інший вказується явно операцією "Стан t", де t - новий стан автомата (будемо скорочувати текст даної операції до "[t]").

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

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

3. Регулярні вирази та граматики. Синтаксичні діаграми.

Регулярні вирази — це стандартна мова для задання зразків пошуку.

Регулярний вислів (в програмуванні) — це рядок що описує або збігається з множиною рядків, відповідно до набору спеціальних синтаксичних правил. Регулярні вислови використовуються в багатьох текстових редакторах та допоміжних інструментах для пошуку та зміни тексту на основі заданих шаблонів. Багато мов програмування підтримують регулярні вислови для роботи з рядками.

Регулярні події та вислови — події, представимі в скінченних автоматах, і відповідні вислови спеціальніою алгебраїчніою мовою (регулярна мова), яка задає ці події.


<== попередня лекція | наступна лекція ==>
Магазинний автомат (МА) | Синтаксис регулярних висловів


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн