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

Часть 2: Пример 1.2.

Рассмотрим какой-нибудь левосторонний вывод в схеме T, например:

(1)

(E + T, ET+)

( 2)

 

 

(E, E)

 

 

 

T

 

T

 

 

( 2)

 

 

( 4)

 

(T(1) + T, T(1)T +)

T

 

 

T

 

( 4)

 

(6)

 

 

 

 

 

 

(F + T, F T +)

 

 

T

 

T

 

 

 

 

 

 

 

(6)

(a + T, aT+)

( 3)

 

 

 

T

 

 

T

 

 

 

( 3)

 

 

 

(4, 6)

 

(a + T * F, aTF * +)

 

T

 

 

 

T

 

 

 

 

(4, 6)

(a + a * F, aaF * +)

(6)

T

 

T

 

 

 

 

 

(6)

(a + a * a, aaa * +).

 

 

T

 

21

 

 

 

 

Часть 2: Пример 1.2.

Нетрудно догадаться, что

(T) = {(x, y)

x — инфиксная запись,

y — эквивалентная постфиксная запись арифметического выражения}.

22

Простые синтаксически управляемые трансляции

Определение 1.6. Схема синтаксически управляемой трансляции называется

простой, если в каждом её правиле

A ,

связанные нетерминалы в цепочках и встречаются в одинаковом порядке.

Трансляция, определяемая простой схемой,

называется простой синтаксически управляемой трансляцией.

23

Простые синтаксически управляемые трансляции

Многие, но не все, полезные трансляции могут быть описаны как простые.

В примере 1.2 схема T, как и определяемая ею трансляция (T), является простой.

Простые синтаксически управляемые трансляции интересны тем, что каждая из них может быть реализована транслятором в классе недетерминированных магазинных преобразователей (рис. 1.1).

24

Простые синтаксически управляемые трансляции

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

таким же образом, как магазинные автоматы характеризуют класс контекстно-свободных языков.

К рассмотрению таких трансляций мы сейчас и перейдем.

25

§1.3. Магазинные преобразователи и синтаксически управляемые трансляции

Здесь мы рассмотрим магазинные преобразователи, отличающиеся от магазинных автоматов тем, что у них есть выходная лента.

26

Недетерминированный магазинный преобразователь

 

 

 

 

 

Вход:

 

 

 

 

 

 

 

 

 

 

 

ai

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

М

 

Zk

 

 

 

a1

 

a2

 

a3

 

 

 

ai

 

 

 

 

 

an

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

q Q

 

 

 

 

а

 

 

 

Z k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

г

 

 

 

 

 

 

 

 

 

 

 

Q

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(

 

 

 

 

 

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

а

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2Q

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

з

 

Z2

 

 

 

Выход:

 

 

 

 

 

 

 

 

 

 

bj

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

и

 

Z1

 

 

 

b

1

 

b

2

 

b

3

 

 

 

 

 

b

j

 

 

b

m

 

 

н

 

Z0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 1.1.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ret 24

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

27

Определение 1.7.

Недерминированный магазинный преобразователь

(npdt — nondeterministic pushdown transducer) есть формальная система

P = (Q, , , , , q0, Z0, F), где

Q конечное множество состояний,конечный входной алфавит,

конечный алфавит магазинных символов,— конечный выходной алфавит,

q0 Q — начальное состояние,

Z0 — начальный символ магазина,

F Q — множество конечных состояний,

отображение типа Q ( { }) 2Q * *,

причём область значений представлена конечными подмножествами троек из Q * *.

28

Магазинный преобразователь

Запись

(q, a, Z) =

{( p ,

, y )}

n

 

i

i

i

i 1

 

 

 

 

означает, что npdt P, находясь в состоянии q Q, сканируя a на входной ленте или не зависимо от текущего входного символа в случае a = , имея Z на вершине магазина, переходит в одно из состояний pi Q, заменяя в магазине символ Z на цепочку i * и записывая цепочку yi * на выходную ленту.

29

Магазинный преобразователь

При этом входная головка сдвигается на одну ячейку вправо, если a , иначе головка остается на месте, головка магазина сканирует последнюю запись в магазине, а головка выходной ленты размещается справа от последней её записи.

30

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