Содержание
Слайд 2
Ясно, что полученная грамматика не LL(1) (см. правила 2-3). Проверим условие
Ясно, что полученная грамматика не LL(1) (см. правила 2-3). Проверим условие
LL(2). Для этого построим для всех A ∈ {P, S, D, D', L} функцию :
Решение: Данная грамматика леворекурсивна, следовательно, она не LL-грамматика. Исключим левую рекурсию:
(1) P → D ; L
(2-3) S → a = a ⏐a : S
(4) D → int a D'
(5-6) D' → , aD' ⏐ε
(7) L → SL'
(8-9) L' → ; SL'⏐ε
Слайд 3
Проверим условие сильной LL(2)-грамматики. Достаточно проверить для нетерминалов D' и L'
Проверим условие сильной LL(2)-грамматики. Достаточно проверить для нетерминалов D' и L'
условие вида:
Построим {; a}, {ε}.
{, a} ∩ {; a}= ∅.
Итак, рабочая грамматика сильная LL(2)-грамматика. Поэтому можно применить алгоритм построения 2-предсказывающего алгоритма анализа без построения LL(2)-таблиц.
Построим {; a}, {ε}.
{, a} ∩ {; a}= ∅.
Итак, рабочая грамматика сильная LL(2)-грамматика. Поэтому можно применить алгоритм построения 2-предсказывающего алгоритма анализа без построения LL(2)-таблиц.
{; a} ∩ {ε}= ∅.
Слайд 4