Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТЯП, ТВП / ТЯПМТ / Пособие.doc
Скачиваний:
161
Добавлен:
11.05.2015
Размер:
2.37 Mб
Скачать

3.11. Автоматы с магазинной памятью

Автоматы с магазинной памятью являются естественной моделью синтаксического анализатора КС-языков.

Автомат с магазинной памятью – это односторонний распознаватель, в потенциально бесконечной памяти которого элементы информации хранятся и используются так же, как и патроны автоматического оружия, т.е. в каждый момент доступен только верхний элемент магазина (рис. 3.11).

Входная лента

Управляющее

Устройство

с конечной

памятью

Магазин

Рис. 3.11. Автомат с магазинной памятью

Все КС-языки определяются недетерминированными автоматами с магазинной памятью, а практически все языки программирования определяются детерминированными автоматами с магазинной памятью.

3.11.1. Основные определения

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

Автомат с магазинной памятью (МП-автомат) – это семерка

,

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

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

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

 - отображение множества во множество конечных подмножеств множества ;

- начальное состояние управляющего устройства;

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

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

Конфигурацией МП-автомата Р называется тройка ,

где - текущее состояние устройства;

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

- содержимое магазина; самый левый символ цепочки считается верхним символом магазина; если , то магазин считается пустым.

Такт работы МП-автомата Р будет представляться в виде бинарного отношения ⊢, определенного на конфигурациях. Будем писать

,

если множество содержит , где , , , и .

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

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

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

Заключительная конфигурация – это конфигурация вида , где и .

Говорят, что цепочка w допускается МП-автоматом Р, если * для некоторых и .

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

Основное свойство МП-автоматов можно сформулировать следующим образом: «То, что происходит с верхним символом магазина, не зависит от того, что находится в магазине под ним».