Алгорифм готов.
Нашёл в литературе алгоритм композиции НАМов, делал по нему. Однако ввиду специфики задачи и ещё того, что выходной алфавит первого шага состоит из одного символа
, удалось избавиться от тонны вспомогательных правил. В том числе от целой группы правил перевода строки из близнецового алфавита обратно в родной, количество которых равно трижды квадрату мощности расширенного алфавита:
, т. е. 300 штук для моего случая :).
Проблема, однако, возникла с тем, что финальный алгоритм перевода обратно в восьмеричную систему многократно использует правило с ПЛЧ, поэтому вашим,
arseniiv, методом воспользоваться не удалось. На этот раз проблему решил уже сам, введя новый маркер
, который я вставляю вместо
, когда тот уничтожается на НЕтерминальных правилах, а потом гоню плюс обратно в начало строки, где он сбрасывает личину и перевоплощается обратно в
. Кажется, я понемногу научиваюсь думать нормальными алгорифмами )
arseniiv, задача решена, огромное спасибо за помощь!!