Bottom-Up Syntax Analysis
Reinhard Wilhelm, Sebastian Hack, Mooly Sagiv Saarland University, Tel Aviv University W2015 Saarland University, Computer Science
1
Bottom-Up Syntax Analysis Reinhard Wilhelm, Sebastian Hack, Mooly - - PowerPoint PPT Presentation
Bottom-Up Syntax Analysis Reinhard Wilhelm, Sebastian Hack, Mooly Sagiv Saarland University, Tel Aviv University W2015 Saarland University, Computer Science 1 Subjects Functionality and Method Example Parsers Derivation of a Parser
1
2
3
4
5
6
7
8
9
10
ε
T [E → E + T.] [T → T ∗ F.] F [S → E.] E [S → .E] [E → .E + T] E [E → E. + T] + T [E → T.] [E → .T] ε ε [T → .F] ε ε [F → .(E)] [F → .id] [F → id.] [F → (.E)] E [F → (E.)] [F → (E).] [T → T ∗ .F] [T → T. ∗ F] ∗ [E → E + .T] ε [T → .T ∗ F] [T → F.]
11
12
13
rm E =
rm E + T =
rm E + F
3
rm T ∗ F =
rm T ∗ id
4
rm T ∗ id =
rm F ∗ id
3
rm T ∗ F =
rm T ∗ id
14
rm E =
rm E + T
∗
rm E + T =
rm E + F
∗
rm E + F =
rm E + id
∗
rm (E + F)
rm (E + (E)) 15
16
∗ ch(G) (q, ε) iff γ is a reliable prefix and q is a valid item for γ.
17
18
ε
T [E → E + T.] [T → T ∗ F.] F [S → E.] E [S → .E] [E → .E + T] E [E → E. + T] + T [E → T.] [E → .T] ε ε [T → .F] ε ε [F → .(E)] [F → .id] [F → id.] [F → (.E)] E [F → (E.)] [F → (E).] [T → T ∗ .F] [T → T. ∗ F] ∗ [E → E + .T] ε [T → .T ∗ F] [T → F.]
19
S10 S7 S2 S4 S11 S8 S9 S6 S3 S5 S1 S0 T T ( ( F id id F id ) ( ∗ F ∗ + T E E F + ( id
20
21
∗ LR0(G) (p(γ), ε).
∗ ch(G) (q, ε)}
22
23
24
25
26
27
28
S10 S7 S2 S4 S11 S8 S9 S6 S3 S5 S1 S0 T T ( ( F id id F id ) ( ∗ F ∗ + T E E F + ( id
29
30
31
32
T#
33
34
35
36
37
38
0=
1=
0, E))
2=
0, T))
6=
1, +))
9=
6, T))
1 shifts under ”+”, reduces under ”#”.
2 shifts under ”∗”, reduces under ”#” and ”+”,
9 shifts under ”∗”, reduces under ”#” and ”+”. 39
40
41
42
43