Опубликован: 06.08.2007 | Доступ: свободный | Студентов: 1180 / 406 | Оценка: 4.45 / 4.29 | Длительность: 18:50:00
Специальности: Программист
Дополнительный материал 3:

Задачи по разделам курса

< Дополнительный материал 2 || Дополнительный материал 3: 12345678

Разбор снизу-вверх типа сдвиг- свертка

4.5.1. Построить все состояния для LR(0) -анализа грамматики G:

S \to  aAb;\ 	A \to  \varepsilon ;\ 	A \to  aaA

Будет ли G LR(0) -грамматикой? А LR(1)?

4.5.2. Является ли грамматика с правилами:

S -> A|B; B -> aB|b|C; A -> AA|a; C -> cC

LR(0) -грамматикой?

4.5.3. Сколько множеств LR(0) -ситуаций в канонической системе LR(0) -ситуаций грамматики G с правилами

а) S -> aA|aB 		A -> bA|c 		B -> bB|d;
б) S -> A0|F1 		A -> S0|B1 		B -> A1|F0 	F -> B0|S1;
в) E -> (L)|a 		L -> EL|E.

4.5.4. Сколько LR(0) -таблиц имеет грамматика с правилами:

S -> Aa|Bb; B -> b; A -> ab.

4.5.5. Построить все состояния LR(1) -анализа для грамматики:

S \to  aAb;\ A \to  \varepsilon |aaA.

4.5.6. Сколько множеств LR(1) -ситуаций в канонической cистеме LR(1) -ситуаций грамматики G с правилами

а) S -> aSb|ab;
б) S -> aAc|b 		A -> aSc|b.

4.5.7. Определить, является ли грамматика c приведенным набором правил LR(1) -грамматикой:

а) A \to  aAB|b 	 \ \ \ 	B \to  b|\varepsilon ;
\\
б) S \to  SaS 	 \ \ \ 	S \to  a;
\\
в) S \to  Abb|Bba 	 \ \ \ 	A \to  a 	 \ \ \ 	B \to  a;
\\
г) S \to  aL|a 	 \ \ \ 	L \to  Lb|b.

4.5.8. Построить все состояния анализа (K = 1) для грамматики

S -> S1; S1->S1S1; S1->a.

Будет ли эта грамматика LR(1)?

4.5.9. Построить все состояния LR(1) анализа для грамматики:

S -> aBc; 		B -> b; 		B -> bBb:

Применив критерий LR(K), определить, будет ли это LR(1) - грамматика.

4.5.10. Выяснить, являются ли следующие грамматики LR(k) -грамматиками. Найти точное значение k и построить детерминированный правый анализатор:

а)\ S \to  SaSb|\varepsilon ;
\\
б)\ S \to  Sa|a;
\\
в)\ S \to  C|d\ C \to  Ac|b\ D \to  aD|c;
\\
г)\ S \to  Ab|Bc\ A \to  Aa|\varepsilon\  B \to  Ba|\varepsilon ;
\\
д)\ S \to  AB\ A \to  a\ B \to  CD|aE\ C \to  ab\ D \to  bb\ E \to  bba;
\\
е)\ S \to  AB\ A \to  0A1|\varepsilon\  B \to  1B|1.

4.5.11. Является ли нижеприведенная грамматика LR(k), и если да, то определить минимальное k.

а) S \to  aAc  \ \ \ 	A \to  aSc  \ \ \ 	S \to  b  \ \ \ 	A \to  b;
\\
б) S \to  S1  \ \ \ 	S1 \to  S1S1  \ \ \ 	S1 \to  a;
\\
в) S \to  aBc  \ \ \ 	B \to  b  \ \ \ 	B \to  bBb;
\\
г) S \to  aAc 	S \to  b 	A \to  aSc 	A \to  b;
\\
д) S \to  aAb 	A \to  0 	A \to  aaA;
\\
е) S \to  aAb 	A \to  \varepsilon  	A \to  aaA.

4.5.12. Являются ли следующие грамматики LR(k) - грамматиками? Указать точное значение k и построить соответствующий детерминированный правый анализатор.

а) S \to  Ab  \ \ \ 	A \to  Aa|a;
\\
б) S \to  Ab  \ \ \ 	A \to  aA|a;
\\
в) S \to  aAb  \ \ \  A \to  BB  \ \ \  B \to  ab|A|\varepsilon ;
\\
г) S \to  aAb	 \ \ \  A \to  AaAb|\varepsilon ;
\\
д) S \to  aB  \ \ \ 	B \to  aBB|b:

4.5.13. Для грамматики

S \to  Ab|Bc 	A \to  Aa|\varepsilon  	B \to  Ba|\varepsilon

написать эквивалентную LR(0) -грамматику.

4.5.14. Сколько сверток и переносов сделает LR(1) - анализатор для грамматики G = ({S, A}, {a}, P, S) c правилами S -> A A -> Aa|a при анализе цепочки a100?

4.5.15. Сколько SLR(1) -таблиц имеет грамматика с правилами:

S -> Aaa|Bb|C B -> aa A -> aa C -> cAc|cBd.

4.5.16. Сколько тактов сделает LALR(1) -анализатор для грамматики с правилами:

S -> A|BC B -> a A -> a; C -> AAAS
при разборе цепочки aaaaa?

4.5.17. Выписать цепочку минимальной длины, на которой видны отличия LARL(1) и LR(1) -анализаторов для грамматики с правилами:

S -> Aa|Bb|C B -> aa A -> aa C -> cAc|cBd.

4.5.18. Пусть G = (N, T, P, S) - LR(1) -грамматика, w \in  T^{*}. В каких случаях (в зависимости от G и w ) LR(1) - анализатор при анализе цепочки w не сделает ни одного сдвига?

4.5.19. Пусть G = (N, T, P, S) - LR(1) -грамматика; w \notin  L(G); |w| = n: Пусть k - число сдвигов, делаемых LR(1) - анализатором при анализе цепочки w. Привести нижнюю и верхнюю оценку для числа k.

4.5.20. Пусть G = (N, T, P, S) - LR(1) -грамматика, |P| = m \ge  1; w \in  L(G), |w| = n. Пусть k - число сверток, делаемых LR(1) -анализатором при анализе цепочки w. Привести нижнюю оценку для числа k.

4.5.21. Пусть G = (N, T, P, S) - LR(1) -грамматика, |P| = m \ge  1;\ w \notin  L(G),\ |w| = n. Пусть k - число сверток, делаемых LR(1) -анализатором при анализе цепочки w. Привести нижнюю оценку для числа k.

4.5.22. Существует ли LR(1) -грамматика, для которой функция действий LR(1) -таблицы не содержит элементов "ошибка" ?

4.5.23. Дана КС-грамматика G = (N, T, P, S). Найти верхнюю оценку числа LR(1) -ситуаций для G.

4.5.24. Дана LR(1) -грамматика без \varepsilon -правил G и цепочка w \in  L(G). В дереве разбора w - n1 листьев и n2 внутренних вершин. Сколько сдвигов и сверток сделает LR(1) -анализатор для G при анализе цепочки w?

< Дополнительный материал 2 || Дополнительный материал 3: 12345678
Артур Гибадуллин
Артур Гибадуллин
Россия, г. Нижневартовск