> -- Сергей Прохоренко писал(а):
> Предложенный Вами вариант - это точно такой же переключатель. "Маленький" он только потому, что реализует мало состояний.  Представьте себе, скажем, 200 состояний.  Каково это на Си врукопашную программировать? А вносить изменения в таблицу переходов? Ошибки просто гарантированы. Потому и автоматное программирование мало применяется, что инструментарий крайне неудобный - низкого уровня.Мой вариант - это     построение программного кода по таблице переходов, которая предварительно подвергается проверке на полноту и отсутствие логических ошибок (и в перспективе даже оптимизируется!) - компилятором. Остается только вписать действия, соответствующие тому или иному состоянию или переходу. Это что-то вроде декларативного программирования.   Когда задача решается компьютером автоматически, громоздкость представления уже не имеет никакого значения. Ведь никого не пугает громоздкость исполнимого кода - всё равно он создается автоматически, и программисту нет необходимости его читать.
Не... Мой еще и эргономичен. Как вы могли заметить, основная прога остается неизменной при ЛЮБОМ количестве состояний. 200 состояний - нефиг делать. Просто "добавь воды"- для каждого состояния пишется ОТДЕЛЬНАЯ функция... Как программер, могу  со всей ответственностью заявить - такой автомат ЛЕГЧЕ сопровождать и модифицировать.