Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
58
Добавлен:
16.04.2015
Размер:
1.47 Mб
Скачать

dpdt P: e(P) = {(x$, y) (x, y) (T)}

Теорема 2.11. Пусть T = (N, , , R, S) —

простая семантически однозначная схема синтаксически управляемой трансляции с входной грамматикой Gi класса LL(k).

Существует детерминированный магазинный преобразователь P, такой, что

e (P) = {(x$, y) (x, y) (T)}.

271

dpdt P: e(P) = {(x$, y) (x, y) (T)}

Доказательство. Заметим, что входная цепочка трансляции, реализуемой магазинным преобразователем, всегда имеет маркер конца, тогда как схема порождает трансляцию с входами без такого маркера. Маркер необходим, чтобы гарантировать детерминизм магазинного преобразователя.

272

dpdt P: e(P) = {(x$, y) (x, y) (T)}

Доказательство основано на построении dpdt, моделирующего движения k-пред- сказывающего алгоритма трансляции, адекватного данной схеме, который согласно теореме 2.10 существует.

Итак, пусть построен k-предсказы- вающий алгоритм трансляции

= ( , {$}, , M, T0, $).

273

dpdt P: e(P) = {(x$, y) (x, y) (T)}

Положим dpdt

P = (Q, {$}, {$}, , , q0, $, ),

где , и — те же, что и в ;

Q = {q0} {[u] u *k} {[v$] v *k – 1}.

274

dpdt P: e(P) = {(x$, y) (x, y) (T)}

1.(q0, , $) = ([ ], T0$, ) — моделирует начальную конфигурацию .

2.([v], a, T) = ([va], T, ), v *k– 1, a ,

T — реализует накопление полной аванцепочки.

3. ([v], $, T) = ([v$], T, ), v *k– 1,

T — совершает накопление короткой аванцепочки.

275

dpdt P: e(P) = {(x$, y) (x, y) (T)}

4. ([u],

,

T) = ([u], , ), u

k, T

,

 

 

 

M(T, u) =

— моделирование движения

типа 1 при полной аванцепочке.

5. ([v$], , T) = ([v$], , ), v *k– 1, T

,

M(T, v) = — моделирование движения типа 1 при короткой аванцепочке.

276

dpdt P: e(P) = {(x$, y) (x, y) (T)}

6.([av], , a) = ([v], , ), a , v k– 1

моделирование pop-движения при полной аванцепочке.

7.([av$], , a) = ([v$], , ), a , v *k– 2

— моделирование pop-движения при короткой аванцепочке.

277

dpdt P: e(P) = {(x$, y) (x, y) (T)}

8.([u], , b) = ([u], , b), b , u k

моделирование pass-движения при полной аванцепочке.

9.([v$], , b) = ([v$], , b), b , v *k– 1

— моделирование pass-движения при короткой аванцепочке.

10. ([$], , $) = ([ ], , ) — моделирование перехода в принимающую конфигурацию.

278

dpdt P: e(P) = {(x$, y) (x, y) (T)}

То, что построенный dpdt P действительно точно моделирует k-предсказы- вающий алгоритм трансляции , нетрудно доказать индукцией по числу движений типа 1 того и другого устройств.

279

2.11.Непростые LL(k)-трансляции и магазинные процессоры

Пусть T = (N, , , R, S) — непростая семантически однозначная sdts с входной грамматикой Gi класса LL(k). Для реализации такой трансляции можно ввести ещё одну модификацию k- предсказывающего алгоритма анализа,

называемую магазинным процессором.

280

Соседние файлы в папке lectures