例题:试给出与G(A)等价的LL(1)文法G'(A),构造G(A')的LL(1)分析表
G[A]:
A→aAb'|a
B→Bb|d
Step 1 试给出与G(A)等价的LL(1)文法G'(A)
Step 2 LL(1)判断
Step 3 求First集&Follow集
Step 4 构造G[A']的LL(1)分析表
根据改造文法构造
改造文法中
- 所有出现的终结符和#写进横行
- 所有的非终结符写进列
- 推出空串的式子写进Follow集的列里
|
a | b | 1 | d | # |
A |
A→aA' |
|
|
|
|
A' |
A'→AB1 |
|
|
A'→ε |
A'→ε |
B |
|
|
|
B'→bB' |
|
B' |
|
B'→bB' |
B'→ε |
|
|
A→aA'
A'→AB1|ε
B→dB
B'→bB'|ε
Step 5 给出输入串aad1#的分析过程
|
符号栈 | 当前输入符号 | 输入串 |
1 | #A | a | ad1# |
2 | #A'a | a |
ad1# |
3 | #A' | a |
d1# |
4 | #1BA | a |
d1# |
5 | #1bA'a | a |
d1# |
6 | #1bA' | d |
1# |
7 | #1B | d |
1# |
8 | #1B'd | d |
1# |
9 | #1B' | 1 | # |
10 | #1 | 1 | # |
11 | # | # |
|