Дизайн шаблона конечного автомата на C++.

Аннотация

С помощью конечных автоматов (КА) можно успешно решать обширный класс задач. Это обстоятельство подмечено давно, поэтому в литературе по проектированию программного обеспечения часто приводятся рассуждения на тему применения КА. Однако в процессе моделирования КА рассматривается с более высокого уровня, нежели это делается в момент его реализации с использованием конкретного языка программирования.




Первая часть статьи опубликована в журнале RSDN #1, 2003. По прошествии года шаблон был существенно расширен, добавлены примеры, подготовлена doxygen документация. Изменения в шаблоне описаны во второй части, которая в печатных изданиях не публиковалась. Первая часть публикуется здесь с небольшими правками по сравнению с оригинальной публикацией.

Шаблон тестировался на различных версиях gcc для Linux. Первая версия также тестировалась на MS Visual C++ 6.0 для MS Windows.

Статья


Примеры


Скачать

  • Исходные тексты шаблона, примеров и сгенерированная doxygen документация.
    fsm-full.tar.bz2 (100631 байт) или fsm-full.tar.gz (192025 байт).
  • Исходные тексты шаблона и примеров без doxygen документации.
    fsm.tar.bz2 (28093 байт) или fsm.tar.gz (66374 байт).

Возможно будет

  • Утилита генерации графического представления графа переходов по исходному тексту, использующему шаблон
Last Updated: September 27, 2005