Изменения

Перейти к: навигация, поиск

Удаление eps-правил из грамматики

16 байт убрано, 06:00, 15 ноября 2011
м
Схема алгоритма удаления ε-правил из грамматики
:1) Найти все <tex>\varepsilon</tex>-порождаюшие нетерминалы.
:2) Удалить все <tex>\varepsilon</tex>-правила из <tex>P</tex>.
:3) Рассмотрим правила вида (*)<tex>A \rightarrow \alpha_0 B_1 \alpha_1 B_2 \alpha_2 ... B_k \alpha_k</tex>, где <tex>\alpha_i</tex> -- последовательности из терминалов и нетерминалов, <tex>B_j</tex> -- <tex>\varepsilon</tex>-порождающие нетерминалы. Добавить все возможные правила вида (*), в которых либо присутствует, либо отсутствует <tex>B_j</tex>, но не добавлять правило кроме правила <tex>A \rightarrow \varepsilon</tex>. Такое правило может возникнуть, если все <tex>\alpha_i = \varepsilon</tex>.
Для доказательства корректности нам понадобиться следующее утверждение:
205
правок

Навигация