|
Упражнение 2.1.25 |
Синтаксический разбор
Определение 13.1.22. Сентенциальной формой (sentential form)
грамматики
называется любое слово в алфавите
,
выводимое из начального символа S.
Пример 13.1.23. Слова S, aSeaceSbb, aceaacecbecbb являются сентенциальными формами грамматики из примера 13.1.3.
Определение 13.1.24.
Пусть дана
контекстно-свободная грамматика
.
Определим три функции
,
и
,
связанные с грамматикой G.
Для краткости будем писать просто FIRST, FOLLOW и DIRECTOR.
Функция FIRST
ставит
в соответствие
каждому слову
множество тех терминальных символов,
с которых начинаются слова,
выводимые из
,
то есть

Функция FOLLOW ставит в соответствие каждому нетерминальному символу A множество тех терминальных символов, которые могут встречаться в сентенциальных формах непосредственно справа от A, то есть

Функция DIRECTOR
ставит
в соответствие
каждому правилу
множество терминальных символов,
определяемое следующим образом:
если
,
то


Пример 13.1.25. Рассмотрим контекстно-свободную грамматику из примера 13.1.3. Очевидно, что

Пример 13.1.26.
Рассмотрим контекстно-свободную
грамматику
из примера 13.1.17.
Очевидно, что

Пример 13.1.27. Пусть контекстно-свободная грамматика
не содержит бесполезных символов.
Пусть даны
правило
и
символ
. Тогда утверждение

,
и
, что
Теорема 13.1.28. Пусть дана
контекстно-свободная грамматика
. Пусть
- соответствующая
контекстно-свободная
грамматика с маркером конца строки,
приведенная в определении 13.1.16. Обозначим через M МП-автомат
, где

,
и
Доказательство.
Индукцией по количеству тактов
можно доказать, что
если
,
где
,
то
.
Следовательно,
.
С другой стороны,
докажем, что если
в грамматике
выводится
и
,
где
,
,
,
,
то
.
Проведем доказательство индукцией по сумме
длины слова bw
и длины вывода
.
Случай |bw| = 1,
образует базис индукции
(очевидно,
что
).
Проверим теперь шаг индукции.
Так как
и
,
то
.
Если
,
где
,
то вывод
имеет вид

и в силу леммы 13.1.27
.
Отсюда получаем, что
,
и остается применить предположение индукции для левосторонних выводов
и
.
Если же
,
где
,
то, очевидно, a = b
и
.
Если
,
то
и в силу леммы 13.1.19
,
но этот случай уже рассмотрен в базисе индукции.
Пусть
.
Тогда w = b'w'
для некоторых
и
.
Обозначим u' = ub.
Применяя предположение индукции для левосторонних выводов
и
,
получаем
.
Согласно построению МП-автомата M
имеем
.Гомоморфизм
задается соотношениями
