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

 

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

 

 

Операции автомата:

 

1. «Вытолкнуть» – выталкивает из стека верхний символ (↑).

2. «Втолкнуть А» - вталкивает в стек магазинный символ А (↓А).

3. «Заменить XYZ». Эквивалентна: ↑↓XYZ (↕XYZ).

4. «Состояние t» - переход АМП в другое состояние ([t]).

5. «Сдвиг» («→») - сдвиг головки на один символ вправо относит. входной ленты.

Переход или шаг автомата – это выполнение операций над стеком и входной головкой, а также изменение состояния.

 

Автомат определяется:

 

1. Конечным множеством входных символов, включающим концевой маркер ().

2. Конечным множеством магазинных символов, включающим маркер дна (Ñ).

3. Конечным множеством состояний, включающим начальное состояние.

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

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

Автомат-распознаватель имеет 2 выходных сигнала: «Допустить» и «Отвергнуть».

 

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