У меня возникают проблемы с описанием каждого шага при создании NFA из регулярного выражения. Вопрос заключается в следующем:
Преобразуйте следующее регулярное выражение в не детерминированный автомат конечного состояния (NFA), четко описывая шаги алгоритма, который вы используете: (Б | а) * Ь (а | б)
Я сделал простую машину с тремя состояниями, но очень сильно от интуиции. Это вопрос из предыдущего экзамена, написанного моим лектором, который также написал следующее объяснение алгоритма Томпсона: http://www.cs.may.ie/staff/jpower/Courses/Previous/parsing/node5.html
Может ли кто-нибудь прояснить, как "четко описать каждый шаг"? Это просто похоже на набор основных правил, а не на алгоритм с шагами.
Может быть, есть алгоритм, который я где-то замалчивал, но до сих пор я только что создал их с образованной догадкой.