CFG => PDA

10
CFG => PDA Sipser 2 (pages 99-118)

description

CFG => PDA. Sipser 2 (pages 99 - 118). Formally…. A pushdown automaton is a sextuple M = (Q, Σ , Γ , δ , q 0 , F) , where Q is a finite set of states Σ is a finite alphabet (the input symbols) Γ is a finite alphabet (the stack symbols) δ : (Q × Σ ε × Γ ε ) → P(Q × Γ ε ) - PowerPoint PPT Presentation

Transcript of CFG => PDA

Page 1: CFG => PDA

CFG => PDA

Sipser 2 (pages 99-118)

Page 2: CFG => PDA

CS 311Fall 2008 2

Formally…• A pushdown automaton is a sextuple

M = (Q, Σ, Γ, δ, q0, F), where – Q is a finite set of states– Σ is a finite alphabet (the input symbols)– Γ is a finite alphabet (the stack symbols)– δ: (Q × Σε ×Γε) → P(Q × Γε)

is the transition function– q0 Q ∈ is the initial state, and – F Q⊆ is the set of accept states

Page 3: CFG => PDA

CS 311Fall 2008 3

Balanced brackets• Let M = (Q, Σ, Γ, δ, q0, F), where – Q = {q1, q2, q3}– Σ = {[, ]}– Γ = {[, $}– q0 = q1

– F = {q1, q3}– δ is given by the transition diagram:

Page 4: CFG => PDA

CS 311Fall 2008 4

Finite automata and Pushdown automata

? Pushdown languages

Regular languages

Page 5: CFG => PDA

CS 311Fall 2008 5

Regular => Pushdown• Proposition: Every finite automaton

can be viewed as a pushdown automaton that never operates on its stack.

• Proof: Let M = (Q, Σ, δ, q0, F) be a finite automaton. Define M' = (Q, Σ, Γ, δ', q0, F), where…

Page 6: CFG => PDA

CS 311Fall 2008 6

Finite automata and Pushdown automata

? Pushdown languages

Regular languages

Page 7: CFG => PDA

CS 311Fall 2008 7

Pushdown automata are nondeterministic

• Build a machine to recognize PAL = {wwR | w {0, 1}*} ∈

0 1 0 1 1 0 1 0

0

1

0Finite control

$

stackor

pushdownstore

reading head 1

Page 8: CFG => PDA

CS 311Fall 2008 8

Recognizing context-free languages

• Lemma 2.21: If a language is context-free, then some pushdown automaton recognizes it.

• Proof:

Page 9: CFG => PDA

CS 311Fall 2008 9

Shorthand for…

Page 10: CFG => PDA

CS 311Fall 2008 10

For example…• Let’s use this construction on:• G = (V, Σ, R, S), where

V = {S}Σ = {[, ]}R = { S →G ε,

S →G SS, S →G [S]}