Theoretical Computer Science (Bridging Course)
Gian Diego Tipaldi
Theoretical Computer Science (Bridging Course) Context Free - - PowerPoint PPT Presentation
Theoretical Computer Science (Bridging Course) Context Free Languages Gian Diego Tipaldi Topics Covered Context free grammars Pushdown automata Equivalence of PDAs and CFGs Non-context free grammars The pumping lemma Context
Gian Diego Tipaldi
A A A A B 0 0 0 # 1 1 1 Parse tree for 000#111 in ๐ป1
A A A A B 0 0 0 # 1 1 1 Parse tree for 000#111 in ๐ป1
<SENTENCE> โ <NOUN-PHRASE>< ><VERB-PHRASE> <NOUN-PHRASE> โ <CMPLX-NOUN>|<CMPLX-NOUN>< ><PREP-PHRASE> <VERB-PHRASE> โ <CMPLX-VERB>|<CMPLX-VERB>< ><PREP-PHRASE> <PREP-PHRASE> โ <PREP>< ><CMPLX-NOUN> <CMPLX-NOUN> โ <ARTICLE>< ><NOUN> <CMPLX-VERB> โ <VERB>|<VERB>< ><NOUN-PHRASE> <ARTICLE> โ a | the <NOUN> โ boy | girl | flower <VERB> โ touches | likes | sees <PREP> โ with
โ
3
( , , , } { , , } { , , , (, )} is | | ( ) | G V R E xp r V E xp r T erm F a cto r a R E xp r E xp r T erm T erm T erm T erm F a cto r F a cto r F a cto r E xp r a ๏ฝ ๏ ๏ผ ๏พ ๏ฝ ๏ผ ๏พ ๏ผ ๏พ ๏ผ ๏พ ๏ ๏ฝ ๏ซ ๏ด ๏ผ ๏พ ๏ฎ ๏ผ ๏พ ๏ซ ๏ผ ๏พ ๏ผ ๏พ ๏ผ ๏พ ๏ฎ ๏ผ ๏พ ๏ด ๏ผ ๏พ ๏ผ ๏พ ๏ผ ๏พ ๏ฎ ๏ผ ๏พ
1 1 2 2 1 2
1 2 1 2
n n n n
1 1
state control a a b b input
state control a a b b input a a b stack
Input 1 ั Stack $ ั $ ั $ ั q1 {(q2,$)} q2 {(q2,0)} {(q3,ั)} q3 {(q3,ั)} {(q4,ั)} q4
q2 q1 q4 q3 ั,ั โ $ 0,ั โ 0 1,0 โ ั 1,0 โ ั ั,$ โ ั
q2 q1 q4 q3 ั,ั โ $ 0,ั โ 0 1,0 โ ั 1,0 โ ั ั,$ โ ั
q2 q1 q4 q3 ั,ั โ $ 0,ั โ 0 1,0 โ ั 1,0 โ ั ั,$ โ ั
1 2 2 2 3 3 4
(0 0 1 1, , ) (0 0 1 1, , $ ) (0 1 1, , 0 $ ) (1 1, , 0 0 $ ) (1, , 0 $ ) ( , , $ ) ( , ) a c c e p t q q q q q q q ๏ฅ ๏ฅ ๏ฅ ๏ฏ ๏ฏ ๏ฏ ๏ฏ ๏ฏ ๏ฏ
* 1 1
L et b e a p u sh d o w n au to m ato n ( , , , , , ) L et .... b e a strin g o v er if an d .... w h ere an d a seq u en ce o f states ,..., ex ist strin g s ,..., accep ts ex ists s in an d in
n n i n n
M Q q F w w w M w w s s w w w w r r Q
๏ฅ
๏ค ๏ ๏ ๏ฝ ๏ ๏ ๏ ๏ฝ ๏ ๏ ๏
1 1 * * 1
1 . 2 .fo r all 0 ,..., 1 ( , ) ( , , ) w h ere = an d = fo r so m e , an d so m e 3 . N o ex p licit test fo r em p ty stack an d en d o su ch th at an d f in p u t
i i i i i n
r q i n r r w s a t s b s b a a t b t r F
๏ฅ
๏ค ๏ฅ
๏ซ ๏ซ ๏ซ
๏ฝ ๏ฝ ๏ญ ๏ ๏ ๏ ๏ ๏ฝ ๏ ๏
q4 q3 q5 q6 ๐,$ โ ๐ q7 q2 q1 b, ๐ โ ๐ a, ๐ โ a c,a โ ๐ b,a โ ๐ c, ๐ โ ๐ ๐,$ โ ๐ ๐, ๐ โ ๐ ๐, ๐ โ ๐
q2 q1 q4 q3 ๐, ๐ โ $ 0, ๐ โ 0 1, ๐ โ 1 ๐, ๐ โ ๐ 0,0 โ ๐ 1,1 โ ๐ ๐,$ โ ๐
state control 0 1 1 0 A 1 A 0 1 $ 0 1 A 1 A 0 0 1 A 1 A 0
S ay th at an d co n stru ct . T h e v ariab les
are T h e start v ariab le is N o w w e d escrib e ยดs ru les. F o r each an d , if
a ccep t
a ccep t p q q ,q
P ( Q , , , q ,{ q }) G G { A | p ,q Q }. A . G p ,q ,r ,s Q ; t a ,b ( p ,a , ) ๏
๏ฅ
๏ฝ ๏ ๏ค ๏ฌ ๏ ๏ท ๏ ๏ ๏ ๏ฌ ๏ ๏ ๏ค ๏ฅ co n tain s an d co n tain s p u t th e ru le in F o r each p u t th e ru le in F in ally, fo r each p u t th e ru le in Y o u m ay g ain s
p q rs p q p r rq p p
( r ,t ) ( s ,b ,t ) ( q , ) A a A b G . p ,q ,r Q A A A G . p Q A G . ๏ค ๏ฅ ๏ฎ ๏ท ๏ ๏ฎ ๏ท ๏ ๏ฎ ๏ฅ
โ
โ
โ
โ
โ
โ
โ
โ
regular languages
P u m p in g L em m a If is a co n tex t free lan g u ag e, th en th ere is a n u m b er su ch th at if is an y strin g in
th en m ay b e d iv ed in to su ch th at 1 . F o r each 0; 2 .
i i
A p s A p s s u vxyz i u v xy z A v ๏ฝ ๏ณ ๏ T h eo rem 3 . y vxy p ๏พ ๏ฃ
T T
T T R u z
T T R R x u v y z
T v y T R R R x u v y z
T T R R x u v y z
T T R x u z
T R R x u v y z