Beruflich Dokumente
Kultur Dokumente
Context-Free Languages
Context-Free Languages
Languages Accepted by
(Grammars) NPDAs
Context-Free Languages
Languages Accepted by
(Grammars) NPDAs
Context-Free Languages
Languages Accepted by
(Grammars) NPDAs
Converting
Context-Free Grammars
to
NPDAs
to an NPDA automaton M
Such that:
Input Stack
processed contents
leftmost variable
Input
1 2 n $
q0 , S q1 , $ $ q2
Costas Busch - RPI 10
Grammar: S aSTb
S b
T Ta
T
A leftmost derivation:
Input a b a b
, S aSTb $
Time 0
, S b Stack
, T Ta a, a
, T b, b
, S , $ $
q0 q1 q2
Costas Busch - RPI 12
Derivation: S
Input a b a b
S
, S aSTb $
Time 0
, S b Stack
, T Ta a, a
, T b, b
q0 , S q1 , $ $ q2
Costas Busch - RPI 13
Derivation: S aSTb a
S
Input a b a b
T
b
, S aSTb $
Time 1
, S b Stack
, T Ta a, a
, T b, b
q0 , S q1 , $ $ q2
Costas Busch - RPI 14
Derivation: S aSTb a
S
Input a b a b
T
b
, S aSTb $
Time 2
, S b Stack
, T Ta a, a
, T b, b
q0 , S q1 , $ $ q2
Costas Busch - RPI 15
Derivation: S aSTb abTb
b
Input a b a b
T
b
, S aSTb $
Time 3
, S b Stack
, T Ta a, a
, T b, b
q0 , S q1 , $ $ q2
Costas Busch - RPI 16
Derivation: S aSTb abTb
b
Input a b a b
T
b
, S aSTb $
Time 4
, S b Stack
, T Ta a, a
, T b, b
q0 , S q1 , $ $ q2
Costas Busch - RPI 17
Derivation: S aSTb abTb abTab
T
Input a b a b a
b
, S aSTb $
Time 5
, S b Stack
, T Ta a, a
, T b, b
q0 , S q1 , $ $ q2
Costas Busch - RPI 18
Derivation: S aSTb abTb abTab abab
T
Input a b a b a
b
, S aSTb $
Time 6
, S b Stack
, T Ta a, a
, T b, b
q0 , S q1 , $ $ q2
Costas Busch - RPI 19
Derivation: S aSTb abTb abTab abab
Input a b a b a
b
, S aSTb $
Time 7
, S b Stack
, T Ta a, a
, T b, b
q0 , S q1 , $ $ q2
Costas Busch - RPI 20
Derivation:
Input a b a b
b
, S aSTb $
Time 8
, S b Stack
, T Ta a, a
, T b, b
q0 , S q1 , $ $ q2
Costas Busch - RPI 21
Derivation:
Input a b a b
, S aSTb $
Time 9
, S b Stack
, T Ta a, a
, T b, b
accept
q0 , S q1 , $ $ q2
Costas Busch - RPI 22
In general:
With L(G ) L( M )
, A w a, a
q0 , S q1 , $ $ q2
Costas Busch - RPI 24
Grammar G generates string w
if and only if
NPDA M accepts w
L(G ) L( M )
Context-Free Languages
Languages Accepted by
(Grammars) NPDAs
DPDA
a, b w
q1 q2
, b w
q1 q2
(deterministic choices)
Costas Busch - RPI 28
Allowed transitions:
a, b w1 q2 , b w1 q2
q1 q1
a , c w2 q3 , c w2 q3
(deterministic choices)
Costas Busch - RPI 29
Not allowed:
a, b w1 q2 , b w1 q2
q1 q1
a , b w2 q3 a , b w2 q3
n n
L( M ) {a b : n 0}
a, a b, a
q0 a, a q1 b, a q2 , $ $ q3
is deterministic context-free
a, a a, a
b, b b, b
q0 , q1 , $ $ q2
a, a a, a
b, b b, b
q0 , q1 , $ $ q2
DPDAs
Deterministic
Context-Free
Context-Free
Languages
Languages
NPDAs
(DPDA)
Deterministic
Context-Free
Context-Free
Languages
Languages
(NPDA)
(DPDA)
L L
n n n 2n
L {a b } {a b } n0
We will show:
L is context-free
Language L is context-free
S 2 aS2bb | n 2n
{a b }
Costas Busch - RPI 40
Theorem:
n n n 2n
The language L {a b } {a b }
is not deterministic context-free
Therefore:
n n
accepts a b
n n n
a b b
n 2n
accepts a
Costas Busch - RPI
b 43
n n n 2n
DPDA M with L( M ) {a b } {a b }
M
n n n
a b b
Context-free languages
a nb n
Regular languages
a *b *
n n n 2n
( L {a b } {a b })
n n n 2n
( L {a b } {a b })
which is a contradiction!
Modify M Replace b
with c
M L( M ) {a nc n } {a nc 2n }
a nc n cn
M
a nb n bn
it is context-free
Contradiction!
n n n
(since L {a b c } is not context-free)
End of Proof
Costas Busch - RPI 51