Составители:
10
Эта грамматика является леворекурсивной. Построим эквивалентную ей
нелеворекурсивную грамматику .
Шаг 1. Обозначим , .
Тогда правила грамматики будут иметь вид:
Шаг 2. Для имеем правила . Их можно
записать в виде , где , , .
Запишем новые правила для множества :
Добавим эти правила в , а символы и во множество нетерминальных
символов, получим: .
Шаг 3. . Построение не закончено: , .
Шаг 4. Для символа в множестве правил нет правила вида ,
поэтому на этом шаге никаких действий не выполняем.
Шаг 5. , переходим опять к шагу 2.
Шаг 2. Для имеем правила . Их можно записать
в виде , где , , .
Запишем новые правила для множества :
Добавим эти правила в , а символы и во множество нетерминальных
символов, получим: .
Шаг 3. . Построение не закончено: , .
Шаг 4. Для символа в множестве правил нет правила вида ,
поэтому на этом шаге никаких действий не выполняем.
Шаг 5. , переходим к шагу 4.
Шаг 4. Для символа в множестве правил нет правила вида ,
поэтому на этом шаге никаких действий не выполняем.
Шаг 5. , переходим опять к шагу 2.
Шаг 2. Для имеем правила . Эти правила не содержат
левой рекурсии. Переносим их в , а символ добавляем в . Получим
.
Шаг 3. . Построение грамматики закончено.
В результате выполнения алгоритма преобразования получили
нелеворекурсивную грамматику
G
0
= (f+; ¡; =; ¤; a; bg; fA
1
; A
0
1
; A
2
; A
0
2
; A
3
g ; A
1
; R
0
)
,
Эта грамматика является леворекурсивной. Построим эквивалентную ей нелеворекурсивную грамматику . Шаг 1. Обозначим , . Тогда правила грамматики будут иметь вид: Шаг 2. Для имеем правила . Их можно записать в виде , где , , . Запишем новые правила для множества : Добавим эти правила в , а символы и во множество нетерминальных символов, получим: . Шаг 3. . Построение не закончено: , . Шаг 4. Для символа в множестве правил нет правила вида , поэтому на этом шаге никаких действий не выполняем. Шаг 5. , переходим опять к шагу 2. Шаг 2. Для имеем правила . Их можно записать в виде , где , , . Запишем новые правила для множества : Добавим эти правила в , а символы и во множество нетерминальных символов, получим: . Шаг 3. . Построение не закончено: , . Шаг 4. Для символа в множестве правил нет правила вида , поэтому на этом шаге никаких действий не выполняем. Шаг 5. , переходим к шагу 4. Шаг 4. Для символа в множестве правил нет правила вида , поэтому на этом шаге никаких действий не выполняем. Шаг 5. , переходим опять к шагу 2. Шаг 2. Для имеем правила . Эти правила не содержат левой рекурсии. Переносим их в , а символ добавляем в . Получим . Шаг 3. . Построение грамматики закончено. В результате выполнения алгоритма преобразования получили нелеворекурсивную грамматику G0 = (f+; ¡; =; ¤; a; bg ; fA1; A01; A2; A02; A3g ; A1; R0), 10
Страницы
- « первая
- ‹ предыдущая
- …
- 8
- 9
- 10
- 11
- 12
- …
- следующая ›
- последняя »