Сильно ациклическая грамматика
Сильно ациклическая грамматика (Strongly non-circular grammar) —
атрибутная грамматика, для которой существует такое семейство
частичных порядков что справедливы
следующие два условия:
1) (ацикличность) для любой продукции является ациклическим
где — граф локальной зависимости;
2) (замкнутость) для любой продукции — ограничение
отношения
на
является подмножеством
т.е.
Существует полиномиальный алгоритм для вычисления семейства
минимальных для
сильно ациклической грамматики.
Наиболее интересной характеристикой грамматики,
принадлежащей к классу
сильно ациклической грамматики, является то, что реальные
зависимости между наследуемыми и синтезируемыми атрибутами,
индуцированные
в дереве
с корнем
, покрываются
. Поэтому
атрибутная грамматика эквивалентна множеству
функций, рекурсивно определенных над структурой дерева
.
Одно из преимуществ вычислителя сильно ациклической грамматики — то, что он
нисходящий. Однако он может вычислять лишние наследуемые
атрибуты, и его временная сложность является
экспоненциальной от размера , если не поддерживается
информация о вычисленных переменных (та же ситуация, что и
для
-грамматик). Некоторые экспериментальные исследования
сильно ациклической грамматики и
-упорядоченных грамматик показали их
сравнимость на практике.
Другие названия — Абсолютно ациклическая грамматика, -грамматика,
-грамматика.
См. также
Литература
- Евстигнеев В.А., Касьянов В.Н. Теория графов: алгоритмы обработки бесконтурных графов. — Новосибирск: Наука. Сиб. отд-ние, 1998.