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

<C> +<A><C>, <A>+'<C>, <C> $, $}.

Чтобы в первом приближении убедиться в правильности построения СУ - схемы, выполним вывод входной цепочки ((x+x)+x) и соответствующей ей выходной цепочки, используя построенные правила.

(<A>, <A>) ((<B>), <B>) ((<A><C>), <A><C>) (((<B>)<C>, <B><C>)

(((<A><C>)<C>),<A><C><C>) ((( x<C>) <C>), x<C><C>) ((( x + <A><C>), x'x' +'<C><C>)

((( x + x + <C>)<C>), x'x' +' <C><C>) ((( x + x )<C>), x'x' +'<C>)

((( x + x )+<A><C>), x'x' +'<A>+'<C>) ((( x + x )+ x<C>), x'x' +' x' +'<C>)

((( x + x ) + x), x'x' +' x' +' ).

Полученный результат показывает, что постфиксная запись для рассматриваемой входной цепочки построена правильно.

4.6. Транслирующие грамматики

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

Определение. Транслирующей грамматикой (Т -грамматикой) называется КС-

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

Примером Т - грамматики может служить следующая грамматика:

ГТ4.1: Vтвх = {a, b, }, Vтвых = {x, y, z}, VA = { <I>, <A>} R = {<I> a<I>x<A>,

<I> z, <A> <A>c, <A> by }.

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

С использованием таких обозначений правила грамматики ГТ4.1 имеют вид:

43

R = {<I> a<I>{x}<A>, <I> {z},

<A> <A>c, <A> b{y} }.

Вывод в транслирующих грамматиках выполняется по тем же правилам, что и в обычных КС - грамматиках. Например, в рассматриваемой грамматике из начального символа может быть выведена следующая цепочка:

<I> a<I>{x}<A> a{z}{x}<A> a{z}{x}b{y}

Каждый символ или цепочка символов, заключенные в фигурные скобки, должны рассматриваться как единый символ, называемый символом действия. Цепочки символов, заключенные в фигурные скобки, можно интерпретировать как имена процедур, выполнение которых производит требуемый эффект на выходе. При описании перевода обычно считают, что каждый символ действия представляет собой процедуру, осуществляющую передачу символа, заключенного в фигурные скобки, на выход. Когда нужно подчеркнуть, что используется такая интерпретация символов действия, то Т - грамматику называют грамматикой цепочного перевода.

4.7. Входная и выходная грамматики заданной транслирующей граммагики

Из каждой Т - грамматики можно получить две обычных грамматики, одна из которых позволяет строить входные цепочки, а другая - выходные. Правила построения таких грамматик можно сформулировать следующим образом.

Определение. Если из правил транслирующей грамматики ГТ удалить выходные символы, то получится входная грамматика ГТвх для заданной грамматики. Если из правил заданной транслирующей грамматики удалить входные символы, то получится выходная грамматика ГТвых для заданной транслирующей грамматики ГТ. Язык порождаемый грамматикой ГТвх называется входным языком заданной транслирующей грамматики, а язык порождаемый ГТвых называется выходным языком заданной транслирующей грамматики ГТ.

44

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]