54
ИНФОРМАЦИОННЫЕ СТРУКТУРЫ И ИХ
ПРЕОБРАЗОВАНИЕ
(q
0
, i+i), i+T), 234651246) |
(q
0
, i), T), 234651246) |
(q
0
, i), F), 2346512464) |
(q
0
, i), i), 23465124646) |
(q
0
, e, e, 23465124646) |
(q
1
, e, e, 23465124646)
Левый анализатор – недетерминированная процедура. Чтобы ею
пользоваться, необходимо уметь моделировать ее детерминированно.
Существует класс грамматик (L,L), для которых левый разбор можно делать
детерминированным. Для этого анализатору необходимо предоставить
возможность, которая при считывании входной (исследуемой) цепочки
позволяла бы заглядывать на k символов вперед, и очередной шаг делался бы
после анализа полученной информации.
L, L – означает, что читается слева направо, и выдается левый разбор.
L, R - означает, что читается слева направо, и выдается правый разбор.
Левые и правые разборы используются в зависимости от той или иной
грамматики.
Моделирование МП –преобразователя. Нисходящий анализ с возвратом
Синтез процедуры
Пусть есть грамматика с правилами:
S:=aSbS;
S:=aS;
S:=c.
Рассмотрим цепочку aacbc и запишем для нее функцию отображения:
1.
δ
(q, e, SZ) = (q, aSbS, 1); Группу 1.,2. можно заменить на:
2.
δ
(q, e, SZ) = (q, aS, 2);
δ
(q, e, SZ) = (q, SbS, 1);
3.
δ
(q, e, SZ) = (q, c, 3);
δ
(q, e, SZ) = (q, S, 2).
δ
(q, i, iZ) = (q, Z, e).
1...,46,47,48,49,50,51,52,53,54,55 57,58,59,60,61,62,63,64,65,66,...88