Bottom-Up Parsing
(A First Step)
Cocke–Younger–Kasami (CYK) algorithm and Chomsky Normal Form
1
Bottom-Up Parsing (A First Step) CockeYoungerKasami (CYK) algorithm - - PowerPoint PPT Presentation
Bottom-Up Parsing (A First Step) CockeYoungerKasami (CYK) algorithm and Chomsky Normal Form 1 Last time Showed how to use Java CUP for getting ASTs But we never saw HOW the parser works 2 This time Dip our toe into parsing
1
2
3
4
Expr Expr Term Term id id plus
5
6
7
8
s1 s2 s3 s4 S1,2 S1,1 S2,2 S3,3 S4,4 S3,4 S1,4 s1 s2 s3 s4 S1,1 S2,2 S3,3 S4,4 S3,4 S2,4 S1,4 s4 s3 s2 s1 S4,4 S3,3 S2,2 S1,1 S1,2 S1,3 S1,4
9
1,1 2,2 3,3 4,4 5,5 6,6 1,2 2,3 3,4 4,5 5,6 1,3 2,4 3,5 4,6 1,4 2,5 3,6 1,5 2,6 1,6
start, end
10
I,N L I,N C I,N R Z X N X W F
F ⟶ I W F ⟶ I Y W ⟶ L X X ⟶ N R Y ⟶ L R N ⟶ id N ⟶ I Z Z ⟶ C N I ⟶ id L ⟶ ( R ⟶ ) C ⟶ ,
id id id , ) ( 1,2 2,3 3,4 4,5 5,6 1,3 2,4 3,5 4,6 1,4 2,5 3,6 1,5 2,6 1,6 In general, go up a column and down a diagonal
11
I,N L I,N C I,N R Z N X W F id id id , ) ( 4,5 3,5 3,6 2,6 1,6
F ⟶ I W F ⟶ I Y W ⟶ L X X ⟶ N R Y ⟶ L R N ⟶ id N ⟶ I Z Z ⟶ C N I ⟶ id L ⟶ ( R ⟶ ) C ⟶ ,
12
I,N L I,N C N R Z N X W F id id id , ) ( 4,5 3,5 3,6 2,6 1,6
F ⟶ I W F ⟶ I Y W ⟶ L X X ⟶ N R Y ⟶ L R N ⟶ id N ⟶ I Z Z ⟶ C N I ⟶ id L ⟶ ( R ⟶ ) C ⟶ ,
13
I,N L I C N R Z N X W F id id id , ) ( 4,5 3,5 3,6 2,6 1,6
F ⟶ I W F ⟶ I Y W ⟶ L X X ⟶ N R Y ⟶ L R N ⟶ id N ⟶ I Z Z ⟶ C N I ⟶ id L ⟶ ( R ⟶ ) C ⟶ ,
14
I,N L I C N R Z N X W F id id id , ) ( 4,5 3,5 3,6 2,6 1,6
F ⟶ I W F ⟶ I Y W ⟶ L X X ⟶ N R Y ⟶ L R N ⟶ id N ⟶ I Z Z ⟶ C N I ⟶ id L ⟶ ( R ⟶ ) C ⟶ ,
15
I,N L I C N R Z N X W F id id id , ) ( 4,5 3,5 3,6 2,6 1,6
F ⟶ I W F ⟶ I Y W ⟶ L X X ⟶ N R Y ⟶ L R N ⟶ id N ⟶ I Z Z ⟶ C N I ⟶ id L ⟶ ( R ⟶ ) C ⟶ ,
16
I,N L I C N R Z N X W F id id id , ) ( 4,5 3,5 3,6 2,6 1,6
F ⟶ I W F ⟶ I Y W ⟶ L X X ⟶ N R Y ⟶ L R N ⟶ id N ⟶ I Z Z ⟶ C N I ⟶ id L ⟶ ( R ⟶ ) C ⟶ ,
17
18
19
Mark all terminal symbols Repeat If all symbols on the righthand side of a production are marked mark the lefthand side Until no more non-terminals can be marked
20
21
Mark the start symbol Repeat If the lefthand side of a production is marked mark all righthand non-terminal Until no more non-terminals can be marked
22
23
24
25
F id ( A ) A ε A N N id N id , N F id ( A ) F id ( ) A N N id N id , N
X A x A y A | A x A y | A x y A | x A y A | A x y | x A y | x y A | x y A z
26
X A x A y A A ε A z
27
F id ( N ) F id ( ) N id N id , N
28
F id ( A ) F id ( ) A N N id N id , N
29
30
F id ( N ) F id ( ) N id N id , N F I L N R F I L R N id N I C N I id L ( R ) C ,
31
32
F I L N R F I W W L N R F I W W L X X N R
33
34
35