Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
kzspo.doc
Скачиваний:
6
Добавлен:
11.05.2015
Размер:
101.89 Кб
Скачать

Семестр 2. Теория компиляторов

Вопросы

1. Что такое синтаксис и семантика языка?

2. Какие существуют методы задания языков?

3. Что такое грамматика языка?

4. Что такое распознаватель?

5. Какие типы грамматик выделяют по классификации Хомского?

6. Что такое сентенциальная форма грамматики?

7. Что такое левосторонний и правосторонний выводы?

8. Что такое транслятор? Компилятор?

9. Что такое таблица идентификаторов?

10. Какие грамматики относятся к регулярным?

11. Чем отличаются автоматные грамматики от других регулярных грамматик?

12. Всегда ли недетерминированный КА может быть преобразован к детерминированному виду?

13. Можно ли для языка, заданного леволинейной грамматикой, построить эквивалентную ей праволинейную?

14. Почему необходимо устранять именно левую рекурсию из правил грамматики?

15.Почему класс языков LR(k) грамматик более широкий, чем класс языковLL(k) грамматик?

16. Почему не существует языков, заданных LL(0) грамматиками?

17. Почему в грамматике простого предшествования не могут присутствовать цепные правила, а в грамматике операторного предшествования – могут?

18. Почему распределение памяти не может быть выполнено до семантического анализа?

19. Для чего необходима оптимизация кода? Можно ли исключить эту фазу?

20. Должна ли процедура СУ-перевода учитывать тип операндов?

Задачи

1. Поездом называется произвольная последовательность локомотивов и вагонов, начиная с локомотива. Построить грамматику для понятия поезд, считая что понятия <локомотив> и <вагон> являются терминалами.

2. Построить грамматику, допускающую только те цепочки, которые оканчиваются на aabba.

3. Построить грамматику, допускающую только те цепочки, в которых встречается последовательность символов aabba.

4. Построить грамматику, допускающую только те цепочки, в которых за каждым символом aнепосредственно следуетb.

5. Построить грамматику над алфавитом {a,b,c}, допускающую только те цепочки, в которых за каждым символомaгде-нибудь после обязательно следуетb.

6. Язык состоит из одного или более предложения, которые начинаются с заглавной буквы и оканчиваются точкой. Предложения разделяются пробелами. Предложение состоит из слов, слова разделяются пробелами. Предложение обязательно содержит прямую речь в виде …..:”…..”. Прямая речь начинается с заглавной буквы. Больше в предложении нигде заглавных букв не допускается. Могут встречаться лишние пробелы перед или после знаков препинания, могут встречаться слова из одного символа, в том числе заглавного, где это необходимо. Построить регулярную автоматную грамматику, описывающую заданный язык.

7. Язык состоит из одного или более предложений, которые оканчиваются точкой. Предложения могут и не разделяться пробелом. Предложение состоит из слов, слова разделяются пробелом. Язык является благозвучным – он не должен содержать 3 подряд идущих согласных либо гласных, в том числе из разных слов либо предложений. Допускается несколько подряд идущих точек или предложений. Построить регулярную автоматную грамматику, описывающую заданный язык.

8. Язык состоит из одного или больше предложений, которые начинаются с заглавной буквы и оканчиваются точкой. Предложения могут и не разделяться пробелом. Предложения состоят из слов, слова разделяются пробелом. Язык допускает имена собственные – т.е. произвольное слово может начинаться с заглавной буквы. Язык допускает аббревиатуры – то есть слова, полностью состоящие из заглавных букв. Построить регулярную автоматную грамматику, описывающую заданный язык.

9. Для грамматики ({A,P,B,C,D,E,F}, {. , “ , _ ,a,z, :},P,A), где правила имеют вид:

{AP. ;PB” ;BB_ |Ba|Cz;CD” ;DE: ;EE_ |Ea|Fz|z;FA_} построить регулярное выражение на основе решения уравнения с регулярными коэффициентами.

10. Для грамматики ({A,B,X,Y,Z,Q}, {s,g, _ , .},P,B), где правила имеют вид:

{BA. ;AXs|Yg|s|g;XZs|Yg|X_ |X. |s|g| _ | . ;YQg|Xs|Y_ |Y. |s|g| _ | . ;ZYg|Z_ |Z. |g| _ | . ;QXs|Q_ |Q. |s| _ | . } построить регулярное выражение на основе решения уравнения с регулярными коэффициентами.

11. Для грамматики ({A,B,C,D,E}, {. , _ ,s,z},P,A), где правила имеют вид:

{AB. ;BCs|Dz|z;CCs|Az|Ez|z;DDz|Az|B_ |z;EB_} построить регулярное выражение на основе решения уравнения с регулярными коэффициентами.

12. Преобразовать автомат к детерминированному виду.

13. Преобразовать автомат к детерминированному виду.

14. Преобразовать автомат к детерминированному виду.

15. Объединить эквивалентные состояния в автомате.

16. Объединить эквивалентные состояния в автомате.

17. Объединить эквивалентные состояния в автомате.

18. Для задачи №9 устраните левую рекурсию

19. Для задачи №10 устраните левую рекурсию

20. Для задачи №11 устраните левую рекурсию

21. Построить последовательность ситуаций и распознаватель для LR(1)-грамматики: G({+, (, ),i},{S,E,F},{SE;EF+E;EF;F(E);Fi},S)

22. Дана грамматика G({a,b,c}, {A,B,C,D,E,F,G,S},P,S). Правила Р имеют вид:

{SaAbB|E;ABCa|a|;BACb|b|;CA|B|bA|aB|cC|aE|bE;Dc|Fb|Fa|;

EEa|Eb|Ec|ED|FG|DG;FBC|AC|DC|EC;GGa|Gb|Gc|GD}. Преобразуйте ее к приведенному виду.

23. Дана грамматика G({_, (, ),o,r,a,n,d,t,b},{S,T,E,F},P,S), правила Р имеют вид:

{SS_or_T | T ; TT_and_E | E ; Enot_E | F ; F(S) | b}. Устраните цепные правила и исключите левую рекурсию.

24. Дана грамматика G({(,),^,&,~,a},{S,T,E,F},{SS^T|T;TT&E|E;E~E|F;F(S) |a},S). Построить для нее распознаватель на основеLR(0)-грамматики и грамматики операторного предшествования. Выполнить разбор цепочкиa^a&~a&(a^~~a)

25. Вычислите выражения, записанные в форме обратной польской записи: 1 2 + 3 * 5 + 4 - и

1 2 * 3 5 4 * + + . Запишите их в обычной форме.

26. Дана грамматика G({(,),^,&,~,a}, {S,T,E}, {SS^T|T;TT&E|E;E~E| (S) |a},S). Построить схему СУ-компиляции выражений входных цепочек языка в представление в виде обратной польской записи.

Тесты

Задание 40. Какие из указанных цепочек принадлежат множеству {a,b,c,d}*? Цепочки:aabcb, а,bbb?

Варианты: aabcb,a,bbb, все принадлежат, все не принадлежат

Задание 41. Какому типу по классификации Хомского принадлежит грамматика ({A,B,C},{a,b,c},P,A), где правила Р имеют вид:AAAbcA,Abcccbb,AAA|b.

Задание 42. Является ли указанный автомат детерминированным?

Задание 43. Какие цепочки принадлежат сентенциальным формам для грамматики ({A,B,C},{a,b,c},P,A), где правила Р имеют вид:AAbc|Bc,Bccbb|Caa,Cabc. Цепочки: ccbbc, Bc, aa, abc, a, b.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]