ВУЗ:
Составители:
35
Этап 1. Преобразуем грамматику G в грамматику G′, не содержащую
ε
-
правил:
N
0
= {R};
N
1
= {R}, т.к. N
0
= N
1
, то во множество P
′
войдут правила:
1) S→ TR | T; 2) R
→
+TR | +T | -TR | -T; 3) T→(S) | a | b.
Этап 2. Построение множеств FIRST(1, A) для каждого нетерминала А
представлено в таблице 6.1.
Таблица 6.1 – Построение множеств FIRST(1, A)
FIRST
i
(1, A) 0 1 2 FIRST(1, A)
S T
T, (, a, b T, (, a, b (, a, b
R
+, - +, - +, - +, -
T
(, a, b (, a, b (, a, b (, a, b
Этап 3. Построение множеств FOLLOW(1, A) для каждого нетерминала А
представлено в таблице 6.2.
Таблица 6.2 – Построение множеств FOLLOW(1, A)
Шаг Нетерминалы FOLLOW
i
(1, A) FOLLOW
i
’
(1, A) FOLLOW
i
’’
(1, A)
S
)
), ε ), ε
R
∅ ∅ ∅
0
T R
R, +, - R, +, -
S
), ε ), ε ), ε
R
), ε ), ε ), ε
1
T
R, +, - R, +, -
R, +, -, ), ε
S
), ε ), ε ), ε
R
), ε ), ε ), ε
2
T
R, +, -, ), ε R, +, -, ), ε R, +, -, ), ε
FOLLOW(1, S)
), ε
FOLLOW(1, R)
), ε
FOLLOW(1, T)
+, -, ), ε
Этап 4. Множества FIRST(1, A) и FOLLOW(1, A) для каждого нетерминала
А сведены в таблицу 6.3.
Таблица 6.3 – Множества FIRST(1, A) и FOLLOW(1, A)
A
FIRST(1, A) FOLLOW(1, A)
S
(, a, b
), ε
R
+, -
), ε
T
(, a, b
+, -, ), ε
Этап 1. Преобразуем грамматику G в грамматику G′, не содержащую ε-
правил:
N0 = {R};
N1 = {R}, т.к. N0 = N1, то во множество P′ войдут правила:
1) S→ TR | T; 2) R→ +TR | +T | -TR | -T; 3) T→(S) | a | b.
Этап 2. Построение множеств FIRST(1, A) для каждого нетерминала А
представлено в таблице 6.1.
Таблица 6.1 – Построение множеств FIRST(1, A)
FIRSTi(1, A) 0 1 2 FIRST(1, A)
S T T, (, a, b T, (, a, b (, a, b
R +, - +, - +, - +, -
T (, a, b (, a, b (, a, b (, a, b
Этап 3. Построение множеств FOLLOW(1, A) для каждого нетерминала А
представлено в таблице 6.2.
Таблица 6.2 – Построение множеств FOLLOW(1, A)
Шаг Нетерминалы FOLLOWi(1, A) FOLLOWi’(1, A) FOLLOWi’’(1, A)
S ) ), ε ), ε
0 R ∅ ∅ ∅
T R R, +, - R, +, -
S ), ε ), ε ), ε
1 R ), ε ), ε ), ε
T R, +, - R, +, - R, +, -, ), ε
S ), ε ), ε ), ε
2 R ), ε ), ε ), ε
T R, +, -, ), ε R, +, -, ), ε R, +, -, ), ε
FOLLOW(1, S) ), ε
FOLLOW(1, R) ), ε
FOLLOW(1, T) +, -, ), ε
Этап 4. Множества FIRST(1, A) и FOLLOW(1, A) для каждого нетерминала
А сведены в таблицу 6.3.
Таблица 6.3 – Множества FIRST(1, A) и FOLLOW(1, A)
A FIRST(1, A) FOLLOW(1, A)
S (, a, b ), ε
R +, - ), ε
T (, a, b +, -, ), ε
35
Страницы
- « первая
- ‹ предыдущая
- …
- 33
- 34
- 35
- 36
- 37
- …
- следующая ›
- последняя »
