formal_language_theory / lectures / unit_10
.pdfe(P) (P’)
Далее согласно п.2 npdt P’ повторяет все
движения npdt P, т. е. |
|
(q0, x, Z0Z0’, ) |
(q, , Z0’, y), |
а затем согласно п.3 npdt P’ переходит в |
|
состояние qf: (q, , Z0’, y) |
(qf, , , y). |
Следовательно, (x, y) (P’).
101
e(P) (P’)
II. Докажем теперь обратное, т. е.
если (x, y) (P’), то (x, y) e(P). Пусть (x, y) (P’), т. е.
(q0’, x, Z0’, ) (qf, , , y)
при некотором *.
Рассмотрим подробнее его движения. Первое движение согласно п.1 имеет вид
(q0’, x, Z0’, ) (q0, x, Z0Z0’, ).
102
e(P) (P’)
Далее в конце концов npdt P’ оказывается в своем конечном состоянии qf. Это возможно только в результате движения, построенного в соответствии с п.3, который применим лишь тогда, когда на вершине магазина npdt P’ покажется символ Z0’, т. е. дальнейшие движения имеют вид
(q0, x, Z0Z0’, ) (q, , Z0’, y) (qf, , , y).
103
e(P) (P’)
На участке (q0, x, |
Z0Z0’, ) |
(q, |
, Z0’, y) |
магазинный преобразователь P’ просто |
|||
повторяет движения npdt P: |
|
|
|
(q0, x, Z0, ) |
(q, , , y). |
|
А это значит, что (x, y) e(P).
Из рассуждений I и II следует утверждение леммы.
104
(P’) = e(P)
Из лемм 1.3 и 1.4 следует
Теорема 1.2. Классы трансляций, реализуемых недетерминированными магазинными преобразователями при конечном состоянии и пустом магазине, совпадают.
Ret 106
105
(P’) = e(P)
Замечание 1.1. Принимая во внимание теорему 1.2, формулировку теоремы 1.1 можно усилить, не подчеркивая того факта, что простая трансляция реализуется недетерминированным магазинным преоб-
разователем при пустом магазине.
К сожалению, не всякая, даже простая, синтаксически управляемая трансляция может быть реализована детерминированным МП-преобразователем.
106
§ 1.4. Детерминированная генерация выходной цепочки простой sdt по левостороннему анализу входной цепочки
Определение 1.11. Схема синтаксически управляемой трансляции называется
семантически однозначной, если в ней не
существует двух правил вида
A и A , в которых .
Другими словами, семантическая цепочка однозначно определяется правилом входной грамматики схемы.
107
Определение 1.12. Пусть G = (VN, VT, P, S)
— cfg, правила которой занумерованы:
1, 2, …, p,
и S |
|
|
* в |
x — левосторонний вывод x V |
T |
||
|
lm |
|
|
|
|
|
|
грамматике G. Здесь {1, 2, …, p}*. |
|
|
|
Последовательность номеров правил |
, |
применённых в этом выводе, называется
левосторонним анализом цепочки x.
108
Теорема 1.3. Пусть T = (N, , , R, S) —
простая семантически однозначная схема синтаксически управляемой трансляции, правила которой занумерованы как 1,2,…, p.
Существует детерминированный магазинный преобразователь P, такой, что
e(P) = {( , y) (S, S) (x, y) для некоторой
lm *
цепочки x }.
Говоря неформально, выходная цепочка y простой трансляции может быть сгенерирована детерминированным магазинным преобразователем (dpdt) по левостороннему анализу входной цепочки x.
109
e(P)
= {( , y)
(S,
S)
lm
(x, y), x *}
Доказательство. Построим dpdt P, о
идет речь, положив
P = ({q}, {1, 2,…, p}, N , , , q, S, ),
где определяется следующим образом:
1. (q, i, A) = (q, , ),
если A , — i-е правило схемы, единственное, начинающееся на A .
2. (q, , b) = (q, , b) для всех b .
110