Formal Languages Philippe de Groote 2018-2019 Philippe de Groote - - PowerPoint PPT Presentation

formal languages
SMART_READER_LITE
LIVE PREVIEW

Formal Languages Philippe de Groote 2018-2019 Philippe de Groote - - PowerPoint PPT Presentation

Formal Languages Philippe de Groote 2018-2019 Philippe de Groote Formal Languages 2018-2019 1 / 14 Outline Pushdown automata 5 Definition Move relation Language accepted by a PDA Acceptance by empty stack From CFG to PDA From PDA to


slide-1
SLIDE 1

Formal Languages

Philippe de Groote 2018-2019

Philippe de Groote Formal Languages 2018-2019 1 / 14

slide-2
SLIDE 2

Outline

5

Pushdown automata Definition Move relation Language accepted by a PDA Acceptance by empty stack From CFG to PDA From PDA to CFG

Philippe de Groote Formal Languages 2018-2019 2 / 14

slide-3
SLIDE 3

Pushdown automata Definition

Definition

A pushdown automaton is a 7-tuple P = Q, Σ, Γ, δ, q0, Z0, F, where Q is an alphabet of states; Σ is an alphabet of input symbols; Γ is an alphabet of stack symbols; δ ∈ Pfin(Q × Γ∗)Q×(Σ∪{ǫ})×Γ is the transition function; q0 ∈ Q is the initial state; Z0 ∈ Q is the initial stack symbol; F ⊂ Q is the set of final states.

Philippe de Groote Formal Languages 2018-2019 3 / 14

slide-4
SLIDE 4

Pushdown automata Move relation

Move relation

Philippe de Groote Formal Languages 2018-2019 4 / 14

slide-5
SLIDE 5

Pushdown automata Move relation

Move relation

Instantaneous description (ID): (q, α, β) ∈ Q × Σ∗ × Γ∗

Philippe de Groote Formal Languages 2018-2019 4 / 14

slide-6
SLIDE 6

Pushdown automata Move relation

Move relation

Instantaneous description (ID): (q, α, β) ∈ Q × Σ∗ × Γ∗ Initial ID: (q0, α, Z0) ∈ {q0} × Σ∗ × {Z0}

Philippe de Groote Formal Languages 2018-2019 4 / 14

slide-7
SLIDE 7

Pushdown automata Move relation

Move relation

Instantaneous description (ID): (q, α, β) ∈ Q × Σ∗ × Γ∗ Initial ID: (q0, α, Z0) ∈ {q0} × Σ∗ × {Z0} Move relation: (q, aα, Zβ) ⊢ (r, α, γβ) where: a ∈ Σ ∪ {ǫ}; (r, γ) ∈ δ(q, a, Z).

Philippe de Groote Formal Languages 2018-2019 4 / 14

slide-8
SLIDE 8

Pushdown automata Move relation

Move relation

Instantaneous description (ID): (q, α, β) ∈ Q × Σ∗ × Γ∗ Initial ID: (q0, α, Z0) ∈ {q0} × Σ∗ × {Z0} Move relation: (q, aα, Zβ) ⊢ (r, α, γβ) where: a ∈ Σ ∪ {ǫ}; (r, γ) ∈ δ(q, a, Z). ⊢∗ denotes the reflexive, transitive closure of ⊢

Philippe de Groote Formal Languages 2018-2019 4 / 14

slide-9
SLIDE 9

Pushdown automata Language accepted by a PDA

Language accepted by a PDA

Language accepted by a PDA: L(P) = {α ∈ Σ∗ : ∃q ∈ F, β ∈ Γ∗. (q0, α, Z0) ⊢∗ (q, ǫ, β)}

Philippe de Groote Formal Languages 2018-2019 5 / 14

slide-10
SLIDE 10

Pushdown automata Acceptance by empty stack

Acceptance by empty stack

Language accepted by a PDA by the empty stack: N(P) = {α ∈ Σ∗ : ∃q ∈ Q. (q0, α, Z0) ⊢∗ (q, ǫ, ǫ)}

Philippe de Groote Formal Languages 2018-2019 6 / 14

slide-11
SLIDE 11

Pushdown automata Acceptance by empty stack

Acceptance by empty stack

Let PN = QN, ΣN, ΓN, δN, qN0, ZN0, FN be a PDA. Define another PDA PF = QF , ΣF , ΓF , δF , qF0, ZF0, FF as follows: QF = QN ∪ {p0, pf}, where p0 and pf are fresh symbols; ΣF = ΣN; ΓF = ΓN ∪ {⊣}, where ⊣ is a fresh symbol; δF is such that: δF (q, a, Z) = δN(q, a, Z) for (q, a, Z) ∈ QN × (ΣN ∪ {ǫ}) × ΓN δF (p0, ǫ, ⊣) = {(qN0, ZN0 ⊣)} δF (q, ǫ, ⊣) = {(pf, ǫ)} for every q ∈ QN qF0 = p0; ZF0 = ⊣; FF = {pf}.

Philippe de Groote Formal Languages 2018-2019 7 / 14

slide-12
SLIDE 12

Pushdown automata Acceptance by empty stack

Acceptance by empty stack

Proposition L(PF ) = N(PN).

Philippe de Groote Formal Languages 2018-2019 8 / 14

slide-13
SLIDE 13

Pushdown automata Acceptance by empty stack

Acceptance by empty stack

Let PF = QF , ΣF , ΓF , δF , qF0, ZF0, FF be a PDA. Define another PDA PN = QN, ΣN, ΓN, δN, qN0, ZN0, FN as follows: QN = QF ∪ {p0, pf}, where p0 and pf are fresh symbols; ΣN = ΣF ; ΓN = ΓF ∪ {⊣}, where ⊣ is a fresh symbol; δN is such that: δN(q, a, Z) = δF (q, a, Z) for (q, a, Z) ∈ QF × (ΣF ∪ {ǫ}) × ΓF δN(p0, ǫ, ⊣) = {(qN0, ZN0 ⊣)} δN(q, ǫ, Z) = {(pf, ǫ)} for every q ∈ FF and every Z ∈ ΓN δN(pf, ǫ, Z) = {(pf, ǫ)} for every Z ∈ ΓN qN0 = p0; ZN0 = ⊣; FN = {pf}.

Philippe de Groote Formal Languages 2018-2019 9 / 14

slide-14
SLIDE 14

Pushdown automata Acceptance by empty stack

Acceptance by empty stack

Proposition N(PN) = L(PF ).

Philippe de Groote Formal Languages 2018-2019 10 / 14

slide-15
SLIDE 15

Pushdown automata From CFG to PDA

From CFG to PDA

Let G = N, Σ, P, S be a context-free grammar. Define a PDA P = Q, Σ, Γ, δ, q0, Z0, F as follows: Q = {q}; Γ = N ∪ Σ; δ is such that: δ(q, ǫ, A) = {(q, α) : (A→α) ∈ P} for A ∈ N δ(q, a, a) = {(q, ǫ)} for a ∈ Σ δ(q, , ) = ∅ in the other cases q0 = q; Z0 = S; F = {q}.

Philippe de Groote Formal Languages 2018-2019 11 / 14

slide-16
SLIDE 16

Pushdown automata From CFG to PDA

From CFG to PDA

Proposition N(P) = L(G).

Philippe de Groote Formal Languages 2018-2019 12 / 14

slide-17
SLIDE 17

Pushdown automata From PDA to CFG

From PDA to CFG

Let P = Q, Σ, Γ, δ, q0, Z0, F be a PDA. Define a context-free grammar G = N, Σ, P, S as follows: N = {S} ∪ {[pXq] : p, q ∈ Q ∧ X ∈ Γ}; P contains the following rules:

for every p ∈ Q: S → [q0Z0p] for every (r, Y0Y1 . . . Yn−1) ∈ δ(q, a, Y ): [qY rn−1] → a[rY0r0][r0Y1r1] . . . [rn−2Yn−1rn−1] where r0, r1, . . . rn−2, rn−1 ∈ Q

Philippe de Groote Formal Languages 2018-2019 13 / 14

slide-18
SLIDE 18

Pushdown automata From PDA to CFG

From PDA to CFG

Proposition L(G) = N(P).

Philippe de Groote Formal Languages 2018-2019 14 / 14