Obsah

Zásobníkové automaty

Pushdown automaton

M = (Q, Σ, Γ, δ, q₀, Z₀, F)

Jazyky přijímané ZA

Bezkontextové jazyky

Syntaktická analýza

Shora dolů

Top-down parsing

Přijímá prázdným zásobníkem!

P = ({q}, Σ, NΣ, δ, q, S, ∅)

Zdola nahoru

Bottom-up parsing

Vyžaduje rozšířený zásobníkový automat!

P = ({q, r}, Σ, NΣ ∪ {#}, δ, q, #, {r})

  1. Redukce: Je-li Aα pravidlo z P, pak δ(q, ε, α) ∋ (q, A)
  2. Shift: δ(q, a, ε) = {(q, a)} pro všechna aΣ
  3. Accept: δ(q, ε, S#) = {(r, ε)}

Varianty ZA

Determinsitický zásobníkový automat

Deterministic pushdown automaton

Automat je deterministický, pokud jsou splněný obě podmínky:

Jiný zápis toho samého (je tam hezká symetrie):

Rozšířený zásobníkový automat

δ: Q × (Σ ∪ {ε}) × Γ* → 2Q × Γ*

Rozdíl je v Γ*, automat tedy může číst 0–n symbolů ze sásobníku.