Автоматне програмування — парадигма програмування, відповідно до якої програма або її фрагмент розглядаються як модель деякого формального автомата, а вибір операції обробки вхідних даних визначається не тільки поточним значенням даних, але й поточним значенням стану автомата.
Залежно від конкретної задачі в автоматному програмуванні можуть використовуватися як скінченні автомати, так і автомати складнішої структури.
Визначальними для автоматного програмування є такі особливості:
- Послідовність операцій виконання програми розбивається на кроки автомата, кожен з яких являє собою виконання певної (однієї і тієї ж для кожного кроку) секції коду з єдиною точкою входу; таку секцію можна оформити, наприклад, у вигляді окремої функції і, в свою чергу, можна розділити на підсекції, відповідно до окремих станів або категорій станів;
- Збереження інформації про стан між кроками автомата здійснюється виключно через явно визначений набір змінних, призначених для зберігання стану автомата, таких, що стани програми на будь-якому окремому моменті входу в крок автомата можуть різнитися між собою виключно значеннями цих і тільки цих змінних.
- Зміна станів автомата зазвичай відбувається в циклі (можливо, неявно заданому) виконання кроків автомата.
Техніка автоматного програмування та сама назва є дискусійними[1].
Найраніші випадки застосування парадигми автоматного програмування стосуються предметних галузей, у яких напрацьована алгоритмічна теорія, заснована на теорії автоматів, і насамперед — до аналізу текстів на формальних мовах. Одну з найраніших робіт на цю тему представлено в статті 1968 року[2].
Примітки
|
- Дивитись автоперекладену версію статті з мови «англійська».
- Перекладач повинен розуміти, що відповідальність за кінцевий вміст статті у Вікіпедії несе саме автор редагувань. Онлайн-переклад надається лише як корисний інструмент перегляду вмісту зрозумілою мовою. Не використовуйте невичитаний і невідкоригований машинний переклад у статтях української Вікіпедії!
- Машинний переклад Google є корисною відправною точкою для перекладу, але перекладачам необхідно виправляти помилки та підтверджувати точність перекладу, а не просто скопіювати машинний переклад до української Вікіпедії.
- Не перекладайте текст, який видається недостовірним або неякісним. Якщо можливо, перевірте текст за посиланнями, поданими в іншомовній статті.
- Докладні рекомендації: див. Вікіпедія:Переклад.
|