1 simplifications of context-free grammars. 2 a substitution rule substitute b equivalent grammar
Post on 21-Dec-2015
237 views
TRANSCRIPT
![Page 1: 1 Simplifications of Context-Free Grammars. 2 A Substitution Rule substitute B equivalent grammar](https://reader035.vdocuments.site/reader035/viewer/2022062304/56649d565503460f94a34ecc/html5/thumbnails/1.jpg)
1
Simplifications of
Context-Free Grammars
![Page 2: 1 Simplifications of Context-Free Grammars. 2 A Substitution Rule substitute B equivalent grammar](https://reader035.vdocuments.site/reader035/viewer/2022062304/56649d565503460f94a34ecc/html5/thumbnails/2.jpg)
2
A Substitution Rule
substitute B
bB
abbAB
abBcA
aaAA
aA
abbcA
ababbAcA
aaAA
aA
equivalentgrammar
![Page 3: 1 Simplifications of Context-Free Grammars. 2 A Substitution Rule substitute B equivalent grammar](https://reader035.vdocuments.site/reader035/viewer/2022062304/56649d565503460f94a34ecc/html5/thumbnails/3.jpg)
3
In general:
321 ||| yyyB
xBzA
zxyzxyzxyA n||| 21
substitute B
equivalentgrammar
![Page 4: 1 Simplifications of Context-Free Grammars. 2 A Substitution Rule substitute B equivalent grammar](https://reader035.vdocuments.site/reader035/viewer/2022062304/56649d565503460f94a34ecc/html5/thumbnails/4.jpg)
4
Useless Productions
aAA
AS
S
aSbS
![Page 5: 1 Simplifications of Context-Free Grammars. 2 A Substitution Rule substitute B equivalent grammar](https://reader035.vdocuments.site/reader035/viewer/2022062304/56649d565503460f94a34ecc/html5/thumbnails/5.jpg)
5
aAA
AS
S
aSbS
aAaaaaAaAAS
never terminates...
![Page 6: 1 Simplifications of Context-Free Grammars. 2 A Substitution Rule substitute B equivalent grammar](https://reader035.vdocuments.site/reader035/viewer/2022062304/56649d565503460f94a34ecc/html5/thumbnails/6.jpg)
6
aAA
AS
S
aSbS
Useless Production
![Page 7: 1 Simplifications of Context-Free Grammars. 2 A Substitution Rule substitute B equivalent grammar](https://reader035.vdocuments.site/reader035/viewer/2022062304/56649d565503460f94a34ecc/html5/thumbnails/7.jpg)
7
bAB
A
aAA
AS
Another grammar:
![Page 8: 1 Simplifications of Context-Free Grammars. 2 A Substitution Rule substitute B equivalent grammar](https://reader035.vdocuments.site/reader035/viewer/2022062304/56649d565503460f94a34ecc/html5/thumbnails/8.jpg)
8
bAB
A
aAA
AS
Not reachable from S
Useless Production
![Page 9: 1 Simplifications of Context-Free Grammars. 2 A Substitution Rule substitute B equivalent grammar](https://reader035.vdocuments.site/reader035/viewer/2022062304/56649d565503460f94a34ecc/html5/thumbnails/9.jpg)
9
In general:
If wxAyS
Then A
is uselessOtherwise A
is useful
)(GLw
![Page 10: 1 Simplifications of Context-Free Grammars. 2 A Substitution Rule substitute B equivalent grammar](https://reader035.vdocuments.site/reader035/viewer/2022062304/56649d565503460f94a34ecc/html5/thumbnails/10.jpg)
10
Removing Useless Productions
Example Grammar
aCbC
aaB
aA
CAaSS
||
![Page 11: 1 Simplifications of Context-Free Grammars. 2 A Substitution Rule substitute B equivalent grammar](https://reader035.vdocuments.site/reader035/viewer/2022062304/56649d565503460f94a34ecc/html5/thumbnails/11.jpg)
11
First: find all variables that producestrings with only terminals
aCbC
aaB
aA
CAaSS
|| },{ BA
},,{ SBA
Round 1:
Round 2:
![Page 12: 1 Simplifications of Context-Free Grammars. 2 A Substitution Rule substitute B equivalent grammar](https://reader035.vdocuments.site/reader035/viewer/2022062304/56649d565503460f94a34ecc/html5/thumbnails/12.jpg)
12
Keep only the variablesthat produce terminal symbols
aCbC
aaB
aA
CAaSS
||
},,{ SBA
aaB
aA
AaSS
|
![Page 13: 1 Simplifications of Context-Free Grammars. 2 A Substitution Rule substitute B equivalent grammar](https://reader035.vdocuments.site/reader035/viewer/2022062304/56649d565503460f94a34ecc/html5/thumbnails/13.jpg)
13
Second: Find all variablesreachable from S
aaB
aA
AaSS
|
S A B
Dependency Graph
notreachable
![Page 14: 1 Simplifications of Context-Free Grammars. 2 A Substitution Rule substitute B equivalent grammar](https://reader035.vdocuments.site/reader035/viewer/2022062304/56649d565503460f94a34ecc/html5/thumbnails/14.jpg)
14
Keep only the variablesreachable from S
aaB
aA
AaSS
|
aA
AaSS
|
Final Grammar
![Page 15: 1 Simplifications of Context-Free Grammars. 2 A Substitution Rule substitute B equivalent grammar](https://reader035.vdocuments.site/reader035/viewer/2022062304/56649d565503460f94a34ecc/html5/thumbnails/15.jpg)
15
Nullable Variables
:production A
Nullable Variable: A
![Page 16: 1 Simplifications of Context-Free Grammars. 2 A Substitution Rule substitute B equivalent grammar](https://reader035.vdocuments.site/reader035/viewer/2022062304/56649d565503460f94a34ecc/html5/thumbnails/16.jpg)
16
Removing Nullable Variables
Example Grammar:
M
aMbM
aMbS
Nullable variable
![Page 17: 1 Simplifications of Context-Free Grammars. 2 A Substitution Rule substitute B equivalent grammar](https://reader035.vdocuments.site/reader035/viewer/2022062304/56649d565503460f94a34ecc/html5/thumbnails/17.jpg)
17
Substitute
M
M
aMbM
aMbS
abM
aMbM
abS
aMbS
Final Grammar
![Page 18: 1 Simplifications of Context-Free Grammars. 2 A Substitution Rule substitute B equivalent grammar](https://reader035.vdocuments.site/reader035/viewer/2022062304/56649d565503460f94a34ecc/html5/thumbnails/18.jpg)
18
Unit-Productions
BAUnit Production:
![Page 19: 1 Simplifications of Context-Free Grammars. 2 A Substitution Rule substitute B equivalent grammar](https://reader035.vdocuments.site/reader035/viewer/2022062304/56649d565503460f94a34ecc/html5/thumbnails/19.jpg)
19
Removing Unit Productions
Observation:
AA
Is removed immediately
![Page 20: 1 Simplifications of Context-Free Grammars. 2 A Substitution Rule substitute B equivalent grammar](https://reader035.vdocuments.site/reader035/viewer/2022062304/56649d565503460f94a34ecc/html5/thumbnails/20.jpg)
20
Example Grammar:
bbB
AB
BA
aA
aAS
![Page 21: 1 Simplifications of Context-Free Grammars. 2 A Substitution Rule substitute B equivalent grammar](https://reader035.vdocuments.site/reader035/viewer/2022062304/56649d565503460f94a34ecc/html5/thumbnails/21.jpg)
21
bbB
AB
BA
aA
aAS
substitute
BA
bbB
BAB
aA
aBaAS
|
|
![Page 22: 1 Simplifications of Context-Free Grammars. 2 A Substitution Rule substitute B equivalent grammar](https://reader035.vdocuments.site/reader035/viewer/2022062304/56649d565503460f94a34ecc/html5/thumbnails/22.jpg)
22
bbB
BAB
aA
aBaAS
|
|
bbB
AB
aA
aBaAS
|
![Page 23: 1 Simplifications of Context-Free Grammars. 2 A Substitution Rule substitute B equivalent grammar](https://reader035.vdocuments.site/reader035/viewer/2022062304/56649d565503460f94a34ecc/html5/thumbnails/23.jpg)
23
substitute
AB
bbB
aA
aAaBaAS
||
bbB
AB
aA
aBaAS
|
![Page 24: 1 Simplifications of Context-Free Grammars. 2 A Substitution Rule substitute B equivalent grammar](https://reader035.vdocuments.site/reader035/viewer/2022062304/56649d565503460f94a34ecc/html5/thumbnails/24.jpg)
24
Remove repeated productions
bbB
aA
aBaAS
|
bbB
aA
aAaBaAS
||
Final grammar
![Page 25: 1 Simplifications of Context-Free Grammars. 2 A Substitution Rule substitute B equivalent grammar](https://reader035.vdocuments.site/reader035/viewer/2022062304/56649d565503460f94a34ecc/html5/thumbnails/25.jpg)
25
Removing All
1. Remove Nullable Variables
2. Remove Unit-Productions
3. Remove Useless Variables
![Page 26: 1 Simplifications of Context-Free Grammars. 2 A Substitution Rule substitute B equivalent grammar](https://reader035.vdocuments.site/reader035/viewer/2022062304/56649d565503460f94a34ecc/html5/thumbnails/26.jpg)
26
Normal Formsfor
Context-free Grammars
![Page 27: 1 Simplifications of Context-Free Grammars. 2 A Substitution Rule substitute B equivalent grammar](https://reader035.vdocuments.site/reader035/viewer/2022062304/56649d565503460f94a34ecc/html5/thumbnails/27.jpg)
27
Chomsky Normal Form
All productions have form:
BCA
variable variable
aAOR
terminal
![Page 28: 1 Simplifications of Context-Free Grammars. 2 A Substitution Rule substitute B equivalent grammar](https://reader035.vdocuments.site/reader035/viewer/2022062304/56649d565503460f94a34ecc/html5/thumbnails/28.jpg)
28
Examples:
bA
SAA
aS
ASS
ChomskyNormal Form
aaA
SAA
AASS
ASS
NOTChomskyNormal Form
![Page 29: 1 Simplifications of Context-Free Grammars. 2 A Substitution Rule substitute B equivalent grammar](https://reader035.vdocuments.site/reader035/viewer/2022062304/56649d565503460f94a34ecc/html5/thumbnails/29.jpg)
29
Convertion to Chomsky Normal Form
Example:
AcB
aabA
ABaS
ChomskyNormal Form
NOT
![Page 30: 1 Simplifications of Context-Free Grammars. 2 A Substitution Rule substitute B equivalent grammar](https://reader035.vdocuments.site/reader035/viewer/2022062304/56649d565503460f94a34ecc/html5/thumbnails/30.jpg)
30
AcB
aabA
ABaS
Introduce variables for terminals:
cT
bT
aT
ATB
TTTA
ABTS
c
b
a
c
baa
a
cba TTT ,,
![Page 31: 1 Simplifications of Context-Free Grammars. 2 A Substitution Rule substitute B equivalent grammar](https://reader035.vdocuments.site/reader035/viewer/2022062304/56649d565503460f94a34ecc/html5/thumbnails/31.jpg)
31
Introduce intermediate variables:
cT
bT
aT
ATB
TTTA
ABTS
c
b
a
c
baa
a
cT
bT
aT
ATB
TTV
VTA
BTV
AVS
c
b
a
c
ba
a
a
2
2
1
1
21, VV
![Page 32: 1 Simplifications of Context-Free Grammars. 2 A Substitution Rule substitute B equivalent grammar](https://reader035.vdocuments.site/reader035/viewer/2022062304/56649d565503460f94a34ecc/html5/thumbnails/32.jpg)
32
Final grammar inChomsky Normal Form:
cT
bT
aT
ATB
TTV
VTA
BTV
AVS
c
b
a
c
ba
a
a
2
2
1
1
AcB
aabA
ABaS
Initial grammar
![Page 33: 1 Simplifications of Context-Free Grammars. 2 A Substitution Rule substitute B equivalent grammar](https://reader035.vdocuments.site/reader035/viewer/2022062304/56649d565503460f94a34ecc/html5/thumbnails/33.jpg)
33
From any context-free grammar Not in Chomsky Normal Form
We can obtain: An equivalent grammar in Chomsky Normal Form
In general:
![Page 34: 1 Simplifications of Context-Free Grammars. 2 A Substitution Rule substitute B equivalent grammar](https://reader035.vdocuments.site/reader035/viewer/2022062304/56649d565503460f94a34ecc/html5/thumbnails/34.jpg)
34
The Procedure:
Removenullable variablesunit productions
![Page 35: 1 Simplifications of Context-Free Grammars. 2 A Substitution Rule substitute B equivalent grammar](https://reader035.vdocuments.site/reader035/viewer/2022062304/56649d565503460f94a34ecc/html5/thumbnails/35.jpg)
35
For every symbol :
aT
a
Add new variable
In productions, replace with a aT
Add production aTa
![Page 36: 1 Simplifications of Context-Free Grammars. 2 A Substitution Rule substitute B equivalent grammar](https://reader035.vdocuments.site/reader035/viewer/2022062304/56649d565503460f94a34ecc/html5/thumbnails/36.jpg)
36
Replace any production: nCCCA 21
with:
nnn CCV
VCV
VCA
12
221
11
New variables: 221 ,,, nVVV
![Page 37: 1 Simplifications of Context-Free Grammars. 2 A Substitution Rule substitute B equivalent grammar](https://reader035.vdocuments.site/reader035/viewer/2022062304/56649d565503460f94a34ecc/html5/thumbnails/37.jpg)
37
Theorem:
For any context-free grammarthere is an equivalent grammarin Chomsky Normal Form
![Page 38: 1 Simplifications of Context-Free Grammars. 2 A Substitution Rule substitute B equivalent grammar](https://reader035.vdocuments.site/reader035/viewer/2022062304/56649d565503460f94a34ecc/html5/thumbnails/38.jpg)
38
Greinbach Normal Form
All rules have form:
kVVVaA 21
symbol variables
0k
![Page 39: 1 Simplifications of Context-Free Grammars. 2 A Substitution Rule substitute B equivalent grammar](https://reader035.vdocuments.site/reader035/viewer/2022062304/56649d565503460f94a34ecc/html5/thumbnails/39.jpg)
39
Examples:
bB
bbBaAA
cABS
||
GreinbachNormal Form
aaS
abSbS
GreinbachNormal Form
NOT
![Page 40: 1 Simplifications of Context-Free Grammars. 2 A Substitution Rule substitute B equivalent grammar](https://reader035.vdocuments.site/reader035/viewer/2022062304/56649d565503460f94a34ecc/html5/thumbnails/40.jpg)
40
aaS
abSbS
Conversion to Greinbach Normal Form
bT
aT
aTS
STaTS
b
a
a
bb
GreinbachNormal Form
![Page 41: 1 Simplifications of Context-Free Grammars. 2 A Substitution Rule substitute B equivalent grammar](https://reader035.vdocuments.site/reader035/viewer/2022062304/56649d565503460f94a34ecc/html5/thumbnails/41.jpg)
41
Theorem:
For any context-free grammar
there is an equivalent grammarin Greinbach Normal Form
![Page 42: 1 Simplifications of Context-Free Grammars. 2 A Substitution Rule substitute B equivalent grammar](https://reader035.vdocuments.site/reader035/viewer/2022062304/56649d565503460f94a34ecc/html5/thumbnails/42.jpg)
42
An Applicationof
Chomsky Normal Forms
![Page 43: 1 Simplifications of Context-Free Grammars. 2 A Substitution Rule substitute B equivalent grammar](https://reader035.vdocuments.site/reader035/viewer/2022062304/56649d565503460f94a34ecc/html5/thumbnails/43.jpg)
43
The CYK Membership Algorithm
Inputs: • Grammar in Chomsky Normal Form
G
• String w
Output:
find if )(GLw
![Page 44: 1 Simplifications of Context-Free Grammars. 2 A Substitution Rule substitute B equivalent grammar](https://reader035.vdocuments.site/reader035/viewer/2022062304/56649d565503460f94a34ecc/html5/thumbnails/44.jpg)
44
Algorithm: Input Examples
Grammar :G
bB
ABB
aA
BBA
ABS
String : w aabbb
![Page 45: 1 Simplifications of Context-Free Grammars. 2 A Substitution Rule substitute B equivalent grammar](https://reader035.vdocuments.site/reader035/viewer/2022062304/56649d565503460f94a34ecc/html5/thumbnails/45.jpg)
45
a a b b b
aa ab bb bb
aab abb bbb
aabb abbb
aabbb
aabbb
![Page 46: 1 Simplifications of Context-Free Grammars. 2 A Substitution Rule substitute B equivalent grammar](https://reader035.vdocuments.site/reader035/viewer/2022062304/56649d565503460f94a34ecc/html5/thumbnails/46.jpg)
46
aA
aA
bB
bB
bB
aa ab bb bb
aab abb bbb
aabb abbb
aabbb
bB
ABB
aA
BBA
ABS
![Page 47: 1 Simplifications of Context-Free Grammars. 2 A Substitution Rule substitute B equivalent grammar](https://reader035.vdocuments.site/reader035/viewer/2022062304/56649d565503460f94a34ecc/html5/thumbnails/47.jpg)
47
aA
aA
bB
bB
bB
aa abS,B
bbA
bbA
aab abb bbb
aabb abbb
aabbb
bB
ABB
aA
BBA
ABS
![Page 48: 1 Simplifications of Context-Free Grammars. 2 A Substitution Rule substitute B equivalent grammar](https://reader035.vdocuments.site/reader035/viewer/2022062304/56649d565503460f94a34ecc/html5/thumbnails/48.jpg)
48
aA
aA
bB
bB
bB
aa abS,B
bbA
bbA
aabS,B
abbA
bbbS,B
aabbA
abbbS,B
aabbbS,B
bB
ABB
aA
BBA
ABS
![Page 49: 1 Simplifications of Context-Free Grammars. 2 A Substitution Rule substitute B equivalent grammar](https://reader035.vdocuments.site/reader035/viewer/2022062304/56649d565503460f94a34ecc/html5/thumbnails/49.jpg)
49
Therefore: )(GLaabbb
Time Complexity:3||w
It can be easily converted to a parser