Professional Documents
Culture Documents
CFG
CFG
Re a
CFG
S-->a
...........................
Example
Re a+
CFG
S-->a
|aS
Recursive Grammar
- left hand side non terminal also appears on RHS
......................................
Example
Re a*
CFG
S-->^
|aS
........................................
Example
Re a+b
CFG
S-->a
|b
..................................
Example
Re (a+b)+
CFG
S-->a
|b
|aS
|bS
....................................
Example
Re (a+b)*
CFG
S-->^
|aS
|bS
.......................................
Example
Re a(a+b)*
CFG
S-->aY
Y-->^
|aY
|bY
....................................
Example
Re a(a+b)+
CFG
S-->aY
Y-->a
|b
|aY
|bY
.....................................
Example even-even
Re(aa+bb+(ab+ba)(aa+bb)*(ab+ba))*
CFG
S-->^
|aaS
|bbS
|abY
|baY
Y-> baS
|abS
|aaY
|bbY
....................................
Example
>(=|>)?
CFG
S--> >Y
Y--> =
| >
|^
.................................
Example
CGPA
[0123]/.([0-9]([0-9]?) | (4(/.0)?)
S--> R1
|R2
R1-->T.DY
Y--> D
|^
D->0|1|2|3|4|5|6|7|8|9
T->0|1|2|3
R2-->4Z
Z-->.0
|^
....................................
Practice
Write Cfg for the following REs
1) (a+b)*a(a+b)*
2) CNIC
\d\d\d\d\d\-\d\d\d\d\d\d\d\-\d
3) aa(a+b)bb(a+b)+
a(a+b)* a + b(a+b)* b
........................................
Solution
1) (a+b)*a(a+b)*
at least one a
S--> YaY
y-->^
|ay
|by
2) CNIC
\d\d\d\d\d\-\d\d\d\d\d\d\d\-\d
S-->ddddd-ddddddd-d
d->0|1|2|3|4|5|6|7|8|9
3) aa(a+b)bb(a+b)+
S->aaYbbZ
y->a|b
z->a|b|az|bz
a(a+b)* a + b(a+b)* b
S-> a Y a
| b Y b
y-> ^|aY|bY
...........................................
Grammar Civilization(minimization)
......................
S-->aS
|^
S-->aS
|a
...................
Example
C++ dec Statement
int a;
int a,b,c;
float t;
...................................
Example
S-->^
|aS
|bS
S-->a
|b
|aS
|bS
both Grammmers are not Eqviualent
.....................................
Example
S-->aY
Y-->^
|aY
|bY
S-->aY
|a
Y-->|aY
|bY
|a
|b
...................................
Practice
Remove ^ production
1) S--> YaY
y-->^
|ay
|by
2) S-> a Y a
| b Y b
y-> ^|aY|bY
3) S--> R1
|R2
R1-->T.DY
Y--> D
|^
D->0|1|2|3|4|5|6|7|8|9
T->0|1|2|3
R2-->4Z
Z-->.0
|^
.................................
Solution
Remove ^ production
1) S--> YaY
y-->^
|ay
|by
S--> Yay|ay|Ya|a
y--> aY|bY|a|b
2) S-> a Y a
| b Y b
y-> ^|aY|bY
S-->aYa |aa|bYb|bb
y-->aY|bY|a|b
3) S--> R1
|R2
R1-->T.DY
Y--> D
|^
D->0|1|2|3|4|5|6|7|8|9
T->0|1|2|3
R2-->4Z
Z-->.0
|^
S--> R1
|R2
R1-->T.DY|T.D
Y--> D
D->0|1|2|3|4|5|6|7|8|9
T->0|1|2|3
R2-->4Z |4
Z-->.0
............................................
S-->R1 |R2
R1->a
R2-->b
S-->a |b
...........................................
Example
S--> R1
|R2
R1-->T.DY
Y--> D
|^
D->0|1|2|3|4|5|6|7|8|9
T->0|1|2|3
R2-->4Z
Z-->.0
|^
S--> R1
|R2
R1-->T.DY|T.D
Y--> D
D->0|1|2|3|4|5|6|7|8|9
T->0|1|2|3
R2-->4Z |4
Z-->.0
S--> T.DD|T.D
|4.0 |4
D->0|1|2|3|4|5|6|7|8|9
T->0|1|2|3
.........................................