Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lektsii_po_EVM.doc
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
2.78 Mб
Скачать

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

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

G(VT,VN,P,S)

правила которых имеют вид

P

A → β, где A ∈ VN и β ∈V*

V=VT ∪VN

В общем виде МП-а. определяется

R( Q, V, Z, δ , q0 , Z0 ,F )

Q – множество состояний автомата

V – алфавит входных символов

Z – специальный коечный алфавит магазинных символов автомата

V≤ Z

δ - функция переходов автомата, которая отображает множество

QX(V ∪{λ})xz

На конечное множество подмножеств

P(QxZ’)

q0 ∈ Q начальное состояние автомата

z∈ Z начальный символ магазина

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

МП- а. имеет магазин (стек), в который помещены магазинные символы – это терминальные и нетерминальные символы грамматики языка.

Переход из одного состояния в другое зависит не только от входного символа, но и от символа на верхушке стека. Конфигурация автомата определяется:

  1. состоянием автомата

  2. текущим символом входной цепочки

  3. содержание стека

МП-а. можно представить в виде схемы

Автомат работает по тактам или по переходам. При выполнении такта из стека удаляется верхний символ, соответствующий условию перехода и добавляется цепочка, соответствующая правилу перехода. Первый символ цепочки становится верхушкой стека. Допускаются переходы, где 1ый символ игнорируется, т.е. он будет входным символом при следующем переходе. Такие переходы называются λ – переходы, т.е. простые. Он принимает цепочку символов, если, получив ее на вход, он может перейти в одну из конечных конфигураций. При окончании цепочки автомат находится в одном из конечных состояний, а стек содержит 1 определенную цепочку. Кроме понятия МП-а существует такое понятие, как расширенный

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

ДМП-автомат (детерминированный). Это такой автомат, если из каждой его конфигурации возможно не более 1 перехода в следующую конфигурацию. В противном случае он недетерминированный.

II.9. Принципы построения семантического анализатора (с-а)

II.9.1. Назначение с-а

С-А выполняется на двух этапах компиляции. Это на этапе синтаксического разбора и в начале этапа к подготовке генерации кода. В 1ом случае всякий раз по завершению анализа определенной синтаксической конструкции входного языка выполняется ее синтаксическая проверка на основе имеющих в ТИ данных. Такими конструкциями являются процедуры, функции, блоки операторов входного языка. Во 2ом случае после завершения всей фазы СА выполняется полный С-А программы на основании ТИ (например, поиск неописанных идентификаторов).

С-А выполняет следующие основные действия:

1) проверка соблюдения в входной программе семантических соглашений входного языка

2) дополнение внут. представ. программы в компиляторе операторами и действиями не явно предусмотренной семантикой входного языка

3) проверка элементарных семантических смысловых норм языка программирования на прямую не связанным с входным языком.

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