Пишу генерилку автомата на С++ по регулярному выражению.
Вот создаю состояние, из него он может перейти в зависимости от состояния или в успешное состояние или в неправильное. Вся адрессация стоится на индексах массива, и основана на положении в строке регулярного выражения. И на основе массива мне не нравиться. Желательно бы было знать указатели на успешное и неуспешное состояние. Как бы это по-красивее сделать?
... << RSDN@Home 1.2.0 alpha 4 rev. 1217>>
Здравствуйте, na1s, Вы писали:
N>Здравствуйте, na1s, Вы писали:
N>>Пишу генерилку автомата на С++ по регулярному выражению.
N>>Вот создаю состояние, из него он может перейти в зависимости от состояния или в успешное состояние или в неправильное. Вся адрессация стоится на индексах массива, и основана на положении в строке регулярного выражения. И на основе массива мне не нравиться. Желательно бы было знать указатели на успешное и неуспешное состояние. Как бы это по-красивее сделать?
N>Проблема, что я не знаю куда переходить во время создание текущего состояния.
Если правильно понял тебе нужна реализация паттерна State Mashine?
Смотри тут
http://is.ifmo.ru/works/
Здесь куча статей по автоматному программированию, и есть реализация паттерна State Mashine.
Вот ссылка на статью
http://is.ifmo.ru/works/patterninc/
На Java —
http://www.javaportal.ru/java/articles/statemachine.html
Ну и GOF читай.