> -- Валерий Лаптев писал(а):
> Форма реализации конечных автоматов может быть самая разная. Большой переключатель - это только один из вариантов, самый простой и самый громоздский.

Предложенный Вами вариант - это точно такой же переключатель. "Маленький" он только потому, что реализует мало состояний.  Представьте себе, скажем, 200 состояний.Каково это на Си врукопашную программировать? А вносить изменения в таблицу переходов? Ошибки просто гарантированы. Потому и автоматное программирование мало применяется, что инструментарий крайне неудобный - низкого уровня.

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

Когда задача решается компьютером автоматически, громоздкость представления уже не имеет никакого значения. Ведь никого не пугает громоздкость исполнимого кода - всё равно он создается автоматически, и программисту нет необходимости его читать.