Изменения
→Идея алгоритма
'''if''' !IsLeftType(<tex>N_i</tex>) && !IsRightType(<tex>N_i</tex>)
return cyclic;
Заметим, что <tex> \forall i </tex> <tex>getTheTypeOfMutualRecursiveSet(N_i) \neq self </tex>, т.к в противном случаи случае грамматика будет самоприменима.<br \>
В основе алгоритма будет рекурсивный обход грамматики во все стороны. Спускаемся по грамматике до тех пор не приходим в нетерминал или символ алфавита:
# символ алфавит или <tex> \varepsilon </tex> {{---}} добавляем новое правило в автомат