EXAMPLE CFG L = {a 2n : n 1 } L = {a 2n : n 0 } S asa aa S asa L = {a n b : n 0 } L = {a n b : n 1 } S as b S as ab L { a b : n 0} L { a b : n 1} S asb S asb ab n 2n n 2n L {1 0 : n 0} L {1 0 : n 1} S 1S00 S 1S00 100 L = { ww R : w { a, b}*} L = { ww R : w { a, b} } asa bsb S S asa bsb aa bb n m k L { a b c : n 0, m 0, k 0} C A aa B bb C cc L { a b : n 0} { b a : n 0} S S S S S 1 2 1 as b 1 bs 2 2 a L { a b b : n 0} S Ab L = { a n b n c k : n, k 0 } S AC C cc L = {a n b n c i : n 1, i 0} A aab ab B cb
L = {a j b n c n : n 1, j 0} A aa B bbc bc L = {a n b n+m c m n, m 0} L = {a n b n+m c m n, m 1} A aab ab B bbc B bbc bc L = {a n ba n : n 0} S asa B B b L = {a n b m c n : n, m 0} L = {a n b m c n : n, m 1} S asc A S asc aac A ba A ba b L { ab cd f : n 0} S aaf A bad c L={a i b j c k d l a l b k c j d i i, j, k, l 0} S asd A A bac B B cbb C C dca L = {a n b m c 2n+m : n, m > 0} Here a n b m c 2n+m = a n b m c m c 2n S ascc A A bac bc L = { (ab} i (cd )j (ba) j (dc) i i, j 0 } S absdc A A cdaba L = {a n b m a m b n : n, m 0} S asb A A baa L = {a n b m a m b n : n, m 1} S asb aab A baa ba
R L = { wc * w : w { a, b}*} S C asa bsb C Cc L = {a i b j c k i = j+k } a i b j c k = a j+k b j c k = a k a j b j c k S asc A L = {a i b j c k j = i+k } a i b j c k = a i b i+k c k = a i b i b k c k B bac L = {a i b j c k k = i+j } a i b j c k = a i b j c i+j = a i b j c j c i S asc A A bac L = {a i b j c k j=i or j=k} Here the language is union of two language L 1 = {a i b j c k j=i} and L 2 = {a i b j c k j=k} L 1 = {a i b j c k j=i} a i b j c k = a i b i c k A CD D cd L 1 = {a i b j c k j=k} a i b j c k = a i b k c k B EF E ae F bfc The grammar for L is S A B A CD D cd B EF E ae F bfc L = {a i b j c k i=j or i=k} Here the language is union of two language L 1 = {a i b j c k i=j} and L 2 = {a i b j c k i=k}
L 1 = {a i b j c k i=j} a i b j c k = a j b j c k A CD D cd L 1 = {a i b j c k i=k} a i b j c k = a k b j c k B abc E E be The grammar for L is S A B A CD D cd B abc E E be L = {a i b j c k k=i or k=j} Here the language is union of two language L 1 = {a i b j c k k=i } and L 2 = {a i b j c k k=j } L 1 = {a i b j c k k=i } a i b j c k = a i b j c i A aac C C bc L 1 = {a i b j c k k=j} a i b j c k = a i b j c j B EF E ae F bfc The grammar for L is S A B A aac C C bc B EF E ae F bfc L = {0 i 1 j 0 k j > i+k, i. k 0} Let j = i+k+m where m > 0 0 i 1 j 0 k = 0 i 1 i+m+k 0 k = 0 i 1 i 1 m 1 k 0 k L = L 1 L 2 L 3 L 1 = {0 i 1 i : i 0 } L 2 = {1 m : m > 0 } L 3 = {1 k 0 k : k 0 } C A 0A1 B 1B 1 C 1C0
L = {a i b j c k i < j or i> k} Here the language is union of two language L 1 = {a i b j c k i<j} and L 2 = {a i b j c k i>k} L 1 = {a i b j c k i < j} Let j = i+m where m 1 a i b j c k = a i b i+m c i = a i b i b m c k A CDE D bd b E ce L 1 = {a i b j c k i>k } Let i= k+m where where m 1 a i b j c k = a k+m b j c k = a m a k b j c k B FG F af a G agc H H bh The grammar is S A B A CDE D bd b E ce B FG F af a G agc H H bh L = {a n b m 2n m 3n} S asbb asbbb L = {a n b m : n 2, m 3} S asb as Sb aabbb i j L { a b : i j} S X Y ( L = L(x) L(y)) X axb ax a ( L(x)= { a i b j ; i>j }) Y ayb Yb b ( L(y)= { a i b j ; i<j }) m n L { 0 1 : m n, n, m 1} S 0A1 0B1 A 0A1 0A 0 B 0B1 1B 1 n m L { a b : m n, m, n 1} S asb aa bb a b A aa a B bb b n m p L { a b c : n m p} S Sc asc Ac aac A Ab aab
L = { a n b m : n m+3 } S asb A B A a aa aaa B bb L = { a n b m : n m-1 } S asb A B A aa B bb bb L = {0 n 1 m 0 n : n+m 2} case I: case II: case III: n a = n b in L 3 n a - n b 0 in L n a < n b in L Here L is union of 111*, 011*0 and L= {0 n 1*0 n : n 1} S S 1 S 2 S 3 S 1 1 S 1 11 A 1A S 2 01A0 S 3 0 S 3 0 0A0 The set of all string over alphabet {a,b} with exactly twice as many a s as b s S SaSbSaS SaSaSbS SbSaSaS The set of all string over alphabet {a,b} not of the form WW for some string W. S aba bab as bs A ba b B ab a The set of all string over alphabet {0,1} with at least three 1s S A1A1A1A A 0A 1A 0 1 The set of all string over alphabet {0,1} which starts and ends with same symbol S 0A0 1A1 A 0A 1A 0 1 The set of all string over alphabet {0,1} which length is odd RE = ((0+1) (0+1))*(0+1) The grammar is S CA A 0 1 (RE : (0+1) ) B AA (RE : (0+1)(0+1)) C BC (RE: ((0+1)(0+1))*) The set of odd length strings in {a,b}* with middle symbol a. S asa bsb asb bsa a
The set of even length strings in {a,b}* with two middle symbols equal S asa bsb asb bsa aa bb The set of odd length strings in {a,b}* whose first, middle and last symbols are all the same. S aaa bbb A aaa bab aab baa a B aba bbb abb bba b Construct grammar which generates all integers S DS D D 0 1 2 3 4 5 6 7 8 9 Construct grammar which generates all even integers up to 998 S 0 2 4 6 8 AS 1 AAS 1 A 1 2 3 4 5 6 7 8 9 S 1 0 2 4 6 8 L = { a i b j c k d l i+k=j+l } S asd ABC A aab B bbc C ccd L = { a i b j c k d l i+j=k+l } S asd B C B abc A C bcd A A bac A represent {b j c j j > 0} B represent {a i b j c k i+j = k & i,j,k > 0} a i b j c j c i C represent {b j c k d l k+l=j & i,j,k > 0} b l b k c k d l L = {a i b j c k : i j or i k or j k } Here given language is union of following three languages L = {a i b j c k : i j, k 0 } {a i b j c k : i k, j 0 } {a i b j c k : j k, i 0 } The first language {a i b j c k : i j, k 0 } is the concatenation of {a i b j : i j } with {c k : k 0 } S 1 S 11 S 12 S 11 X Y ( L = L(x) L(y)) X axb ax a ( L(x)= { a i b j ; i>j }) Y ayb Yb b ( L(y)= { a i b j ; i<j }) S 12 cs 12
The third language {a i b j c k : j k, k 0 } is the concatenation of {a i : i 0 } with {b j c k : j k } S 3 S 31 S 32 S 31 as 31 S 32 W Z ( L = L(w) L(z)) W bwc bw b ( L(w)= { b j c k ; j>k }) Z bzc Zc c ( L(z)= { b j c k j<k}) The second language {a i b j c k : i k, j 0 }, may be written as: L 1 L 2 L 2 L 3 where L 1 = {a n : n 1}, L 2 = {a n b m c n : n, m 0 }, and L 3 = {c n : n 1}. S 2 S 21 S 22 S 21 AB A aa a B abc B B bb S 22 BC C cc c The CFG of the language {a i b j c k : i j, k 0 } {a i b j c k : i k, j 0 } {a i b j c k : j k, i 0 } is S S 1 S 2 S 3 S 1 S 11 S 12 S 11 X Y ( L = L(x) L(y)) X axb ax a ( L(x)= { a i b j ; i>j }) Y ayb Yb b ( L(y)= { a i b j ; i<j }) S 12 cs 12 S 2 S 21 S 22 S 21 AB A aa a B abc B B bb S 22 BC C cc c S 3 S 31 S 32 S 31 as 31 S 32 W Z ( L = L(w) L(z)) W bwc bw b ( L(w)= { b j c k ; j>k }) Z bzc Zc c ( L(z)= { b j c k j<k})