- •Отчет по курсовой работе
- •Раздел 2.
- •2.1. Общие сведения
- •2.2. Задания
- •2.2.1. Исключение бесполезных символов
- •2.2.3. Исключение цепных правил
- •2) Новое множество правил вывода:
- •2.2.4. Исключение левой рекурсии
- •Раздел 4.
- •4.2. Задания
- •4.2.1. Построение детерминированного автомата с магазинной памятью
- •4.2.2. Построение детерминированного преобразователя с магазинной памятью.
- •4.2.3. Построение недетерминированного мп-автомата по кс-грамматике
- •4.2.4. Построение недетерминированного расширенного мп-автомата по кс-грамматике
- •Раздел 6.
- •Раздел 7
- •Раздел 1.
- •Раздел 5.
Раздел 4.
АВТОМАТЫ И ПРЕОБРАЗОВАТЕЛИ С МАГАЗИННОЙ ПАМЯТЬЮ.
Общие сведения
Автоматы с магазинной памятью представляют собой математическую модель синтаксических анализаторов контекстно-свободных языков. В общем случае автомат с магазинной памятью — это односторонний недетерминированный распознаватель, вспомогательная память которого организована по принципу магазина (в каждый момент времени доступен только верхний символ магазина) и имеет потенциально неограниченную длину.
Недетерминированным автоматом с магазинной памятью (МП-автоматом) называется семерка объектов Ρ = < Q, Σ, Γ, δ, q0, z0, F >, где Q – конечное множество состояний устройства управления, Σ – конечный алфавит входных символов, δ – функция переходов, которая задает отображение множества Q × (Σ ∪ {ε}) × Г в множество конечных подмножеств множества Q × Г*, q0 ∈ Q — начальное состояние устройства управления, z0 — начальный символ (дно) магазина, F ⊆ Q — множество заключительных состояний.
Такт работы МП-автомата удобно описывать с помощью бинарного отношения «», определенного на множестве конфигураций.
(q, aw, Z) (q′, w, γα), если (q′, γ) ∈ δ(q, a, Z),
где q, q′ ∈ Q, a ∈ Σ ∪ {ε}, w ∈ Σ*, Z ∈ Г и α, γ ∈ Г*.
Если a ≠ ε и входная цепочка прочитана не до конца, то переход (q, aw, Aα) (q′, w, γα) означает, что МП-автомат, находясь в состоянии q, обозревая символ a входной цепочки и имея символ A в верхушке магазина, может перейти в новое состояние q′, сдвинуть входную головку на один символ вправо и заменить верхний символ магазина A цепочкой магазинных символов γ. Если γ = ε, то верхний символ удаляется из магазина.
Если a = ε (ε-такт), то текущий входной символ в этом такте не принимается во внимание (ε-такты могут выполняться и тогда, когда вся входная цепочка прочитана) и входная головка остается неподвижной. При этом состояние устройства управления и содержимое магазина могут измениться. Заметим, что если магазин пуст, то очередной такт работы МП-автомата невозможен по определению.
Начальной конфигурацией МП-автомата называется конфигурация вида (q0, w, z0), где q0 – начальное состояние устройства управления, на входной ленте записана цепочка w ∈ Σ*, которую необходимо распознать, а магазин содержит только начальный символ z0.
Заключительной конфигурацией МП-автомата называется конфигурация вида (q, ε, α), где q ∈ F — одно из заключительных состояний устройства управления, входная цепочка прочитана до конца, а в магазине записана некоторая, заранее определенная, цепочка α ∈ Г*.
Говорят, что цепочка w ∈ Σ* допускается МП-автоматом, если (q0, w, z0) (q, ε, α) для некоторых q ∈ F и α ∈ Г*.
Расширенным автоматом с магазинной памятью (РМП) называется семерка объектов Ρ = <Q, Σ, Γ, δ, q0, z0, F>, где δ — функция переходов, которая задает отображение множества Q × (Σ ∪ {ε}) × Г* в множество конечных подмножеств множества Q × Г*, а все остальные объекты те же, что и у МП-автомата.
РМП-автомат может выполнять такты и тогда, когда магазин пуст.
Класс языков, допускаемых МП-автоматами и РМП-автоматами, совпадает с классом языков, порождаемых КС-грамматиками.
Детерминированным МП-автоматом или детерминированным расширенным МП-атоматом называется распознаватель, который в любой конфигурации может выполнить не более одного такта.
Преобразователи с магазинной памятью (МП-преобразователи) или расширенные преобразователи с магазинной памятью (РМП-преобразователи) строятся на основе соответствующих автоматов с магазинной памятью путем добавления к ним выходной ленты и возможности записи на нее цепочек конечной длины.
Недетерминированным МП-преобразователем называется восьмерка объектов D = < Q, Σ, Γ, Δ, δ, q0, z0, F >, где ), где все символы, обозначающие объекты, имеют тот же смысл, что и в определении МП-преобразователя за исключением того, что функция переходов и выходов представляет собой отображение множества Q × (Σ ∪ {ε}) × Γ* в множество конечных подмножеств множества Q × Г* × Δ*.
Цепочка y ∈ Δ* называется выходом для цепочки x ∈ ∑*, если существует переход из начальной конфигурации (q0, x, z0, ε) МП-преобразователя или РМП-преобразователя в заключительную конфигурацию (q, ε, α, y), где α ∈ Г*, а q ∈ Q.
Переводом (преобразованием), определяемым МП-преобразователем или РМП-преобразователем D, называется множество
τ(D) = {(x, y) | (q0, x, Z0, ε) (q, ε, α, y) для некоторых q ∈ F и α ∈ Γ*.