Студопедия

Главная страница Случайная лекция


Мы поможем в написании ваших работ!

Порталы:

БиологияВойнаГеографияИнформатикаИскусствоИсторияКультураЛингвистикаМатематикаМедицинаОхрана трудаПолитикаПравоПсихологияРелигияТехникаФизикаФилософияЭкономика



Мы поможем в написании ваших работ!




Удаление из грамматики бесполезных нетерминалов

 

В произвольно заданной грамматике могут присутствовать такие нетерминалы (и порождающие правила, где эти нетерминалы присутствуют), которые бесполезны: они или никогда не могут появиться при любом процессе порождения, начинающегося с начального нетерминала, или никогда не могут породить терминальной цепочки. Назовем их в первом случае бесполезными 1-го типа, а во втором – бесполезными 2-го типа.

Для того чтобы избавиться от бесполезных нетерминалов 1-го типа, пометим начальный нетерминал, как полезный. Далее для всех порождающих правил, у которых в левой части имеется полезный нетерминал, пометим все нетерминалы из правой части, как полезные. Процесс продолжаем, пока не останется непросмотренных порождающих правил. Все нетерминалы, оставшиеся непомеченными, являются бесполезными 1-го типа, их следует удалить вместе с теми правилами грамматики, где они встречаются.

Для того чтобы избавиться от бесполезных нетерминалов 2-го типа, просмотрим порождающие правила, у которых правая часть пуста или состоит только из терминалов. Пометим нетерминалы в левой части этих правил, как полезные. Далее для всех порождающих правил, у которых в правой части имеются только полезные нетерминалы и (возможно) терминальные символы, пометим все нетерминалы в левой части, как полезные. Процесс продолжаем, пока не останется непросмотренных порождающих правил. Все нетерминалы, оставшиеся непомеченными, являются бесполезными 2-го типа, их следует удалить вместе с теми правилами грамматики, где они встречаются.

Очищенная от бесполезных нетерминалов грамматика называется приведенной. Заметим, что рассмотренный способ удаления бесполезных нетерминалов можно применить не только к А-грамматикам, но и к КС-грамматикам.


<== предыдущая страница | следующая страница ==>
Преобразование неоднозначной А-грамматики к однозначной | Лексический анализатор

Дата добавления: 2015-07-26; просмотров: 163; Нарушение авторских прав




Мы поможем в написании ваших работ!
lektsiopedia.org - Лекциопедия - 2013 год. | Страница сгенерирована за: 0.003 сек.