Задачи по разделам курса
Синтаксический анализ
КС-грамматики и МП-автоматы
4.1.1. Пусть G - грамматика с правилами:
S -> SbS|ScS|a
Найти 2 различных дерева вывода для цепочки abaca.
4.1.2. Дана однозначная КС-грамматика G = (N, T, P, S) и цепочка . Количество элементов во множествах N, T, P равно n1, n2, n3 соответственно, а |w| = l. Найти нижнюю и верхнюю границу для числа деревьев разбора w в G.
4.1.3. Являются ли однозначными следующие грамматики?
4.1.4. Является ли однозначной грамматика с правилами:
4.1.5. Пусть G1 - грамматика, имеющая продукции:
S -> bA|ab; A -> a|aS|bAA; B -> b|bS|aBB;
а G2 - грамматика, определяемая продукциями:
S -> aB|aBS|bAS|bA; A -> bAA|a; B -> bBB|b.
Показать, что
1) G1 - неоднозначная грамматика; 2) G2 - однозначная грамматика; 3) L(G1) = L(G2):
4.1.6. Какой язык допускается автоматом с магазинной памятью
4.1.7. Построить МП-автоматы, определяющие языки
4.1.8. Построить автомат с магазинной памятью, допускающий язык:
4.1.9. Пусть A - магазинный автомат. Построить магазинный автомат B, допускающий все префиксы языка
4.1.10. Построить детерминированные МП-автоматы, определяющие языки:
4.1.11. Является ли язык детерминированным? Обосновать ответ с помощью магазинного автомата, допускающего язык L.
4.1.12. Является ли детерминированным следующий язык:
4.1.13. Доказать, что для любой КС-грамматики G' существует эквивалентная ей КС грамматика G, имеющая лишь правила вида
4.1.14. Доказать, что если L1 - КС-язык, то язык L, состоящий из всех слов L1 четной длины - КС-язык, то есть
4.1.15. Доказать, что для КС-грамматики G существует неукорачивающая КС-грамматика G', порождающая язык
4.1.16. Привести алгоритм, позволяющий узнать, принадлежит ли данное слово данному КС-языку и доказать его правильность.
4.1.17. КС-грамматика называется левооднозначной, если каждое слово порождаемого ею языка имеет единственный левый вывод. Аналогично определяется правооднозначная грамматика. Построить пример левооднозначной, но не правооднозначной КС-грамматики.
C.4.2. Алгебраические свойства КС-языков. Лемма о разрастании.
4.2.1. Пусть L1, L2 - КС-языки. Докажите:
4.2.2. Пусть L - КС-язык. Докажите:
1) L* - КС-язык; 2) LR - КС-язык.
4.2.3. Доказать, что не существует КС-грамматик, порождающих языки
а) {anbncn} : n >= 1}; б)
в) г) .
4.2.4. Выяснить, какие из приведенных ниже языков не являются КС-языками:
4.2.5. Показать, что язык {anbncn|n>=1g не является КС-языком.
4.2.6. Является ли язык {anbmanbm|n >= 1, m >= 1 } КС-языком?
4.2.7. Является ли язык {anbmbnam|n >= 1, m >= 1} КС-языком?
4.2.8. Является ли язык {ap|p - простое число} КС- языком?
4.2.9. Является ли язык КС-языком?
4.2.10. Определить, замкнуто ли множество КС-языков относительно дополнения?
4.2.11. Замкнуто ли множество КС-языков относительно обращения? (Иначе говоря, верно ли, что если L - КС-язык, то LR - тоже КС-язык).