Professional Documents
Culture Documents
CFG and CFL
CFG and CFL
Definition of CFG
Definition of CFL
S → aS | ʌ S → XaaX
( a + b )* X → aX | bX | ʌ
a*b*
S → aS | bS | ʌ
( a + b )+ S → XY
X → aX | a | ʌ
S → aS | bS | a | b Y → bY | b | ʌ
Theory of Computation 5
S → aX S → aX
X → bX | ʌ X → aX | bX | ʌ
a*bb (a+b)* a (a+b)*a (a+b)*
S → Xbb S → XaXaX
X → aX | ʌ X → aX | bX | ʌ
Theory of Computation 6
S → 0S1S | 1S0S | ^
L = { x | n0(x) ≠ n1(x) }
S→A|B
A → 0 | 0A | 1AA | AA1 | A1A
B → 1 | 1B | 0BB | BB0 | B0B
Theory of Computation 8
S → 0X0 | 1X1 | ʌ
X → 0X | 1X | ʌ
L = { w | w{0,1}* and |w| is odd}
S → 0X | 1X
X → 00X | 01X | 10X | 11X | ʌ
Theory of Computation 9
S → aSb | ʌ
L = { an b an | n ≥ 0 }
S → aSa | b
L = { a4n | n > 0 }
S → aaaaX
X → aaaaX | ʌ
Theory of Computation 10
S → aSa | bSb | ʌ
L = odd length palindrome strings
S → aSa | bSb | a | b
L = palindrome strings
S → aSa | bSb | a | b | ʌ
Theory of Computation 11
S → aXb | bXa
X → aX | bX | ʌ
L = string over {a,b} starting with a
S → aX
X → aX | bX | ʌ
Theory of Computation 12
S → YX | X | Y | ʌ
X → aX | ʌ
Y → bY | ʌ
Theory of Computation 13
S → XaXaX
X → aX | bX | ʌ
L = string having exactly 2 a’s
S → XaXaX
X → bX | ʌ
Theory of Computation 15
S→XbXbXYX
X → aX | ʌ
Y→b|ʌ
S→XbXb
X → aX | S | ʌ
L = strings having exactly one a or one b
S→XaX |YbY
X → bX | ʌ
Y → aY | ʌ
Theory of Computation 17
S → aX | Y
X → aaX | bX | ʌ
Y → bbY | aY | ʌ
Theory of Computation 18
S → XY S → ABC
X → aXb | ^ A → 0A1 | ^
B → 1B | 1
Y → bYc | ^ C → 1C0 | ^
L = { ai bj ck | i=j+k }
S → aSc | A
A → aAb | ^
Theory of Computation 19
S0 → S1| S4
S1 → aS2 S4 → S5c
S2 → aS2|aS2c|S3 S5 → S5c|aS5c|S6
S3 → aS3|aS3b|^ S6 → S6b|aS6b|^
Theory of Computation 20
S0 → S1| S4
S1 → aS2
S2 → aS2|aS2c|S3
S3 → aS3|aS3b|^
S4 → S5c
S5 → S5c|aS5c|S6
S6 → S6b|aS6b|^
Theory of Computation 21
Derivation
String: id + id +id
Derivation: E
E+E
E+E+E
id + E + E
id + id + E
id + id + id
Theory of Computation 22
Types of Derivation
Reduction
String: id + id +id
Reduction: id + id + id
E + id + id
E + E + id
E+E+E
E+E
E
Theory of Computation 24
Parse Tree
Parse Tree
E
E
E+E
E + E
id + E
id + E * E
id E * E
id + id * E
id + id * id
id id
Theory of Computation 26
Ambiguous grammar
Ambiguous grammar
E
E
E + E
E * E
id E * E
E + E id
id id
id id
Eliminating ^-production
Eliminating ^-production
^ |b
B bBB | bB ReplaceAboth
Replace and A
B in aAA
both withwith
in AB ^ then get aget ^
^ then
2. Remove ^ production
Eliminating ^-production
Eliminating ^-production
Eliminating unit-production
Eliminating unit-production
Steps:
1) Eliminate ^-production
2) Eliminate unit-production
3) Rewrite to fulfil the rule of CNF as given above
Theory of Computation 35
S AbA S PA | AY | YA | b
A Aa | ^ A AX | a
Xa
Yb
P AY
Theory of Computation 38