You are on page 1of 6

RE to CFG / CFG to CNF

Daud Khalid
BSCS-FA18-015
RE to CFG
R.E = a*
S^| aS
• R.E=a
If string = aaaaa
S a S aS
R.E = b S aaS
S aaaS
S b S aaaaS
S aaaaaS
S aaaaa^
Final String we get
S aaaaa
R.E to CFG
• Example:
(aa+bb)a* + a*(bb+aa)*
A B B C

S AB|BC
A aa|bb
B ^|aB
C ^|bbC|aaC
CFG to CNF
S AB|BC
CNF Form: There are four rules :
A aa|bb S AB I. Remove All null productions.
B ^|aB S a II. Remove unit production.
S b III. Convert all mix terms into capital.
C ^|bbC|aaC IV. Reduce the length of each non-terminal.
Remove All null productions.
S AB|BC|A|B|C
A aa|bb
B aB|a
C bbC|aaC|bb|aa
Continue……. Convert all mix terms into capital:
S AB|BC|a|b|c
AAA|BB
S AB|BC|A|B|C
B AB|a
A aa|bb C BBC|AAC|BB|AA
B aB|a A a
B b
C bbC|aaC|bb|aa C c
Remove unit production: Reduce the length of each non-terminal.
S AB|BC|a|b|c
S AB|BC|a|b|c AAA|BB
A aa|bb B AB|a
C BD|AE|BB|AA
B aB|a A a
C bbC|aaC|bb|aa B b
C c
A a D BC
B b E AC
C c
THANKS

You might also like