> -- Сергей Прохоренко писал(а):
> Гарантия в том, что единственная переменная состояния является локальной переменной автомата, не доступной ни из ветвей автомата, ни снаружи. У нее нет даже имени или указателя, по которому можно было бы обратиться. Изменение состояния производится только самим автоматом (на основе стартового состояния, таблицы переходов, входных условий/символов), и больше никем. Разумеется, можно себе представить функцию, возвращающую состояние автомата, но лишь как копию.Если я правильно понял, Вы вводите некий сложный оператор, который соответствует автомату. Текущее состояние автомата хранится в некоторой переменной, которая недоступна программисту напрямую. Этот супер-оператор управляет этой переменной автоматически.

Такое решение наверно имеет право на жизнь, но мне оно не нравится. И вот почему. Существует много различных типов автоматов: Мили, Мура, магазинные ... К тому же, автоматы могут быть вложенными, и вообще в сложных случаях представлять собой некую структурную композицию.
Неужели Вы будете вводить отдельный супер-оператор для каждого типа автомата? Это всё-равно что вводить супер-мега-оператор для шаблона MVC или для любого другого паттерна проектирования.

> -- Цитата:
> Ваш вопрос аналогичен вопросу: а что если мы внутри цикла изменим значение параметра цикла?Да, Вы совершенно правы, таким вопросом я тоже задаюсь. И оператор FOR никогда не использую.