Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция СП3.DOC
Скачиваний:
1
Добавлен:
08.08.2019
Размер:
258.56 Кб
Скачать

Автоматы с магазинной памятью (мп  автоматы )

МП  автоматы представляют собой естественную модель синтаксических анализаторов КС  языков .

Определение. МП-автомат  это семерка

P =(Q , , , , q0 , Z0 , F ),

где Q  конечное множество символов состояний , представляющих всевозможные состояния управляющего устройства (УУ);

 конечный входной алфавит ;

 конечный алфавит магазинных символов ;

 отображение Q ( {e}) (Q );

q0 Q начальное состояние УУ;

Z0  символ , находящийся в магазине в начальный момен времени (начальный символ) ;

F Q  множество заключительных состояний .

Структура МП - автомата показана на рис.2.4.

Рис.

Определение. Конфигурацией МП  автомата Р называется

тройка (q , , ) Q * * ,

где q  текущее состояние УУ;

w неиспользованная часть входной цепочки, причем первый символ цепочки находится под входной головкой (если , то считается, что вся входная лента прочитана);

 содержимое магазина , причем самый левый символ

цепочки считается верхним символом магазина ( если  е , то магазин считается пустым ). 

Определение. Такт работы МП автомата Р будем представлять в виде бинарного отношения р ,определенного на конфигурациях. Будем записывать (q, a , ) ( , , ), если множество

(q , a , ) содержит ( , ) , где q, Q , a {e} , * ,

   , , * . 

Если ае , то данная запись означает следующее :

МП  автомат Р , находясь в состоянии q и имея а в качестве текущего входного символа , расположенного над входной головкой , а  в качестве верхнего символа магазина , может перейти в новое состояние , сдвинуть входную головку на одну ячейку вправо и заменить верхний символ магазина цепочкой магазинных символов. Если = е , то верхний символ просто удаляется из магазина .

Если а=е, такт называется е- тактом . В таком такте текущий входной символ не принимается во внимание и входная головка не сдвигается . Однако состояния УУ и содержимое памяти могут изменяться .

Следующий такт невозможен , если магазин пуст .

Определение. Начальной конфигурацией МП  автомата Р называется конфигурация вида (q0 , , 0) , где * , т.е. УУ находится в начальном состоянии , входная лента содержит цепочку, которую нужно распознать , а в магазине есть только начальный символ 0 .

Заключительная конфигурация: (q , e , ) , где q F , * .

Говорят , что цепочка допускается МП  автоматом Р , если

(q0 , , 0) * (q , e , ) , для некоторых qF и * .

Язык, определяемый (допускаемый ) автоматом P (обозначается L(P)),  это множество цепочек допускаемых Р . 

Пример . Пусть Р=( {q0 , q1 , q2 },{0,1},{ ,0} , , q0 , , {q0 }),

где (q0 , 0 , Z)={(q1 , 0Z)};

(q1 , 0 , 0)={(q1 , 00)};

(q1 , 1 , 0)={(q2 , e)};

(q2 , 1 , 0)={(q2 , e)};

(q2 , e , Z)={(q0 , e)}.

Словесное описание функции : МП  автомат копирует в магазин начальную часть входной цепочки , состоящую из нулей , а затем устраняет из магазина по одному нулю на каждую единицу, которую он видит на входе .

Рассмотрим, как этот автомат распознает = 0011 :

(q0 , 0011 , Z) ( q1 , 011 , 0Z) (q1 , 11 , 00Z)

(q2 , 1 , 0Z) (q2 , e , Z) (q0 , e , e) < s t o p> .

17