Аннотация:
Рассмотрена задача минимизации синтаксических диаграмм. Для её решения диаграммы Вирта (ДВ) преобразуются в синтаксические диаграммы с многовходовыми компонентами (СД), которые по структуре совпадают с ДВ, но отличаются тем, что нетерминалы в нетерминальных вершинах заменяются начальными узлами соответствующих компонент. На множестве узлов СД вводится отношение, обладающее свойством эквивалентности, которое разбивает множество узлов на классы эквивалентности. Доказано, что «стягивание» класса эквивалентности в один узел является эквивалентным преобразованием. Если классу эквивалентности принадлежат узлы различных компонент, то в результате “стягивания” происходит соединение компонент в одну, которая имеет несколько входов. Предложены алгоритмы разбиения множества узлов на классы эквивалентности и построения СД. Приводится пример, показывающий, что построенная по предложенным алгоритмам СД значительно меньше эквивалентной ей ДВ.
Ключевые слова:формальный язык, синтаксическая диаграмма, отношение эквивалентности, минимизация.