Автоматне програмування — парадигма програмування, відповідно до якої програма або її фрагмент розглядаються як модель деякого формального автомата, а вибір операції обробки вхідних даних визначається не тільки поточним значенням даних, але й поточним значенням стану автомата.
Залежно від конкретної задачі в автоматному програмуванні можуть використовуватися як скінченні автомати, так і автомати складнішої структури.
Визначальними для автоматного програмування є такі особливості:
- Послідовність операцій виконання програми розбивається на кроки автомата, кожен з яких являє собою виконання певної (однієї і тієї ж для кожного кроку) секції коду з єдиною точкою входу; таку секцію можна оформити, наприклад, у вигляді окремої функції і, в свою чергу, можна розділити на підсекції, відповідно до окремих станів або категорій станів;
- Збереження інформації про стан між кроками автомата здійснюється виключно через явно визначений набір змінних, призначених для зберігання стану автомата, таких, що стани програми на будь-якому окремому моменті входу в крок автомата можуть різнитися між собою виключно значеннями цих і тільки цих змінних.
- Зміна станів автомата зазвичай відбувається в циклі (можливо, неявно заданому) виконання кроків автомата.
Техніка автоматного програмування та сама назва є дискусійними.
Найраніші випадки застосування парадигми автоматного програмування стосуються предметних галузей, у яких напрацьована алгоритмічна теорія, заснована на теорії автоматів, і насамперед — до аналізу текстів на формальних мовах. Одну з найраніших робіт на цю тему представлено в статті 1968 року.
Примітки
- . Архів оригіналу за 30 липня 2012. Процитовано 1 листопада 2013.
- Johnson W.L., Porter J.H. Automatic generation of efficient lexical processors using finite state techniques / 1968
В іншому мовному розділі є повніша стаття Automata-based programming(англ.). Ви можете допомогти, розширивши поточну статтю за допомогою з англійської.
|
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Avtomatne programuvannya paradigma programuvannya vidpovidno do yakoyi programa abo yiyi fragment rozglyadayutsya yak model deyakogo formalnogo avtomata a vibir operaciyi obrobki vhidnih danih viznachayetsya ne tilki potochnim znachennyam danih ale j potochnim znachennyam stanu avtomata Zalezhno vid konkretnoyi zadachi v avtomatnomu programuvanni mozhut vikoristovuvatisya yak skinchenni avtomati tak i avtomati skladnishoyi strukturi Viznachalnimi dlya avtomatnogo programuvannya ye taki osoblivosti Poslidovnist operacij vikonannya programi rozbivayetsya na kroki avtomata kozhen z yakih yavlyaye soboyu vikonannya pevnoyi odniyeyi i tiyeyi zh dlya kozhnogo kroku sekciyi kodu z yedinoyu tochkoyu vhodu taku sekciyu mozhna oformiti napriklad u viglyadi okremoyi funkciyi i v svoyu chergu mozhna rozdiliti na pidsekciyi vidpovidno do okremih staniv abo kategorij staniv Zberezhennya informaciyi pro stan mizh krokami avtomata zdijsnyuyetsya viklyuchno cherez yavno viznachenij nabir zminnih priznachenih dlya zberigannya stanu avtomata takih sho stani programi na bud yakomu okremomu momenti vhodu v krok avtomata mozhut riznitisya mizh soboyu viklyuchno znachennyami cih i tilki cih zminnih Zmina staniv avtomata zazvichaj vidbuvayetsya v cikli mozhlivo neyavno zadanomu vikonannya krokiv avtomata Tehnika avtomatnogo programuvannya ta sama nazva ye diskusijnimi Najranishi vipadki zastosuvannya paradigmi avtomatnogo programuvannya stosuyutsya predmetnih galuzej u yakih napracovana algoritmichna teoriya zasnovana na teoriyi avtomativ i nasampered do analizu tekstiv na formalnih movah Odnu z najranishih robit na cyu temu predstavleno v statti 1968 roku Primitki Arhiv originalu za 30 lipnya 2012 Procitovano 1 listopada 2013 Johnson W L Porter J H Automatic generation of efficient lexical processors using finite state techniques 1968 V inshomu movnomu rozdili ye povnisha stattya Automata based programming angl Vi mozhete dopomogti rozshirivshi potochnu stattyu za dopomogoyu perekladu z anglijskoyi Divitis avtoperekladenu versiyu statti z movi anglijska Perekladach povinen rozumiti sho vidpovidalnist za kincevij vmist statti u Vikipediyi nese same avtor redaguvan Onlajn pereklad nadayetsya lishe yak korisnij instrument pereglyadu vmistu zrozumiloyu movoyu Ne vikoristovujte nevichitanij i nevidkorigovanij mashinnij pereklad u stattyah ukrayinskoyi Vikipediyi Mashinnij pereklad Google ye korisnoyu vidpravnoyu tochkoyu dlya perekladu ale perekladacham neobhidno vipravlyati pomilki ta pidtverdzhuvati tochnist perekladu a ne prosto skopiyuvati mashinnij pereklad do ukrayinskoyi Vikipediyi Ne perekladajte tekst yakij vidayetsya nedostovirnim abo neyakisnim Yaksho mozhlivo perevirte tekst za posilannyami podanimi v inshomovnij statti Dokladni rekomendaciyi div Vikipediya Pereklad