Составители:
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
- …
- следующая ›
- последняя »
