|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Oleg Goodyckov 2:5020/400 10 Feb 2003 13:18:44 To : Zahar Kiselev Subject : Re: Правильный выбор инструмента --------------------------------------------------------------------------------
On Mon, Feb 10, 2003 at 07:08:50AM +0300, Zahar Kiselev wrote:
> Hello Vladimir!
>
> Feb 09 23:58 03, Vladimir Bormotov wrote to Zahar Kiselev:
>
> ZK>> Есть электронное устройство, содержащее
> ZK>> микроконтроллер и подключенное к машине с Линуксом через ком-порт.
> VB> ...в системе видно через /dev/ttyS*
> Важно не то, через что оно видно.
> Важен последовательный протокол обмена.
>
> ZK>> Оно посылает некие байты и принимает некие команды, реализуя
> ZK>> некоторый специфический протокол общения. Соответственно требуется
> ZK>> написать программу, реализующую автомат с заданным множеством
> ZK>> состояний и возможных переходов между ними. Причем переходы между
> ZK>> состояниями (и соответствующие действия) должны выполняться не только
> ZK>> когда устройство что-то там прислало, но и когда оно _не_ прислало
> ZK>> чего-то за отведенный промежуток времени.
> VB> почему-то вспомнилось "Hити придумали те, кто не в состоянии
> VB> реализовать конечный автомат" - кто-то из отцов Unix'а ;)
> Вот инструмент (либо методика) реализации КА и ищется.
>
>
> ZK>> В задаче спрашивается - как, с помощью чего, рекомендуется писать
> ZK>> программы подобного типа?
Посмотри в сторону states, yacc, bison.
Первое - средство программирования автоматов (states переводится как
"состояния") посредством описания множества состояний и переходов между
ними.
Два последних (bison - потомок yacc) - это средства автоматизации
написания парсеров. Они, как известно, авляются ярким примером реализации
автоматов.
--- ifmail v.2.15dev5
* Origin: unknown (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/186430a3cb73e.html, оценка из 5, голосов 10
|