NPDAs Accept Context-Free Languages Costas Busch - RPI
Theorem: Context-Free Languages Languages Accepted by (Grammars) NPDAs Costas Busch - RPI
Convert any context-free grammar to a NPDA with: Proof - Step 1: Context-Free Languages (Grammars) Languages Accepted by NPDAs Convert any context-free grammar to a NPDA with: Costas Busch - RPI
Convert any NPDA to a context-free grammar with: Proof - Step 2: Context-Free Languages (Grammars) Languages Accepted by NPDAs Convert any NPDA to a context-free grammar with: Costas Busch - RPI
Converting Context-Free Grammars to NPDAs Proof - step 1 Converting Context-Free Grammars to NPDAs Costas Busch - RPI
We will convert any context-free grammar to an NPDA automaton Such that: Simulates leftmost derivations of Costas Busch - RPI
Simulation of derivation Leftmost derivation Input processed Stack contents leftmost variable Stack Simulation of derivation Input Costas Busch - RPI
Simulation of derivation Leftmost derivation string of terminals Stack Simulation of derivation Input end of input is reached Costas Busch - RPI
What is the equivalent NPDA? An example grammar: What is the equivalent NPDA? Costas Busch - RPI
Grammar: NPDA: Costas Busch - RPI
A leftmost derivation: Grammar: A leftmost derivation: Costas Busch - RPI
Derivation: Input Time 0 Stack Costas Busch - RPI
Derivation: Input Time 0 Stack Costas Busch - RPI
Derivation: Input Time 1 Stack Costas Busch - RPI
Derivation: Input Time 2 Stack Costas Busch - RPI
Derivation: Input Time 3 Stack Costas Busch - RPI
Derivation: Input Time 4 Stack Costas Busch - RPI
Derivation: Input Time 5 Stack Costas Busch - RPI
Derivation: Input Time 6 Stack Costas Busch - RPI
Derivation: Input Time 7 Stack Costas Busch - RPI
Derivation: Input Time 8 Stack Costas Busch - RPI
Derivation: Input Time 9 Stack accept Costas Busch - RPI
In general: Given any grammar We can construct a NPDA With Costas Busch - RPI
Constructing NPDA from grammar : For any production For any terminal Costas Busch - RPI
Grammar generates string if and only if NPDA accepts Costas Busch - RPI
For any context-free language there is a NPDA Therefore: For any context-free language there is a NPDA that accepts the same language Context-Free Languages (Grammars) Languages Accepted by NPDAs Costas Busch - RPI
Deterministic PDA DPDA Costas Busch - RPI
Deterministic PDA: DPDA Allowed transitions: (deterministic choices) Costas Busch - RPI
(deterministic choices) Allowed transitions: (deterministic choices) Costas Busch - RPI
(non deterministic choices) Not allowed: (non deterministic choices) Costas Busch - RPI
DPDA example Costas Busch - RPI
is deterministic context-free The language is deterministic context-free Costas Busch - RPI
A language is deterministic context-free Definition: A language is deterministic context-free if there exists some DPDA that accepts it Costas Busch - RPI
Example of Non-DPDA (NPDA) Costas Busch - RPI
Not allowed in DPDAs Costas Busch - RPI
NPDAs Have More Power than DPDAs Costas Busch - RPI
Since every DPDA is also a NPDA It holds that: Deterministic Context-Free Languages (DPDA) Context-Free Languages NPDAs Since every DPDA is also a NPDA Costas Busch - RPI
We will show that there exists a context-free language which is not We will actually show: Deterministic Context-Free Languages (DPDA) Context-Free Languages (NPDA) We will show that there exists a context-free language which is not accepted by any DPDA Costas Busch - RPI
is not deterministic context-free The language is: We will show: is context-free is not deterministic context-free Costas Busch - RPI
Language is context-free Context-free grammar for : Costas Busch - RPI
Theorem: The language is not deterministic context-free (there is no DPDA that accepts ) Costas Busch - RPI
Proof: Assume for contradiction that is deterministic context free Therefore: there is a DPDA that accepts Costas Busch - RPI
DPDA with accepts accepts Costas Busch - RPI
Such a path exists because of the determinism DPDA with Such a path exists because of the determinism Costas Busch - RPI
Context-free languages Fact 1: The language is not context-free Regular languages Context-free languages (we will prove this at a later class using pumping lemma for context-free languages) Costas Busch - RPI
Fact 2: The language is not context-free (we can prove this using pumping lemma for context-free languages) Costas Busch - RPI
We will construct a NPDA that accepts: which is a contradiction! Costas Busch - RPI
Replace with Modify Costas Busch - RPI
Connect final states of with final states of The NPDA that accepts Connect final states of with final states of Costas Busch - RPI
Since is accepted by a NPDA it is context-free Contradiction! (since is not context-free) Costas Busch - RPI
Not deterministic context free Therefore: Not deterministic context free There is no DPDA that accepts End of Proof Costas Busch - RPI