Я сделал NFA, который делает из регулярных выражений 3d-массив, например (01*) выражение. Я понимаю:
[[FROM,TO,TRANSITION]]
[['q0', 'q1', '0'], ['q1', 'q2', ':e:'] ,['q1', 'q4', ':e:'] ,
['q2', 'q3', '1'], ['q3', 'q2', ':e:'], ['q3', 'q4', ':e:']
Как мне написать метод, который может проверить строку, удовлетворяющую этому автомату? Например, "011111"
вернет q0 q1 q2 q3 q2 q3 q2 q3 q2 q3 q2 q3 q4
.