LL(1)預測分析表的構造算法
a | b | c | d | |
S | S -> AaS | |||
A | ||||
B |
FIRST(BbS) = { b, c } 所以講產生式S - > BbS加入M[S, b] M[S, c]中
a | b | c | d | |
S | S -> AaS | S - > BbS | S - > BbS | |
A | ||||
B |
FIRST(d) = { d } 將產生式 S -> d 加入到 M[S,d]中
a | b | c | d | |
S | S -> AaS | S - > BbS | S - > BbS | S -> d |
A | ||||
B |
FIRST(a) = { a } 將其產生式 A -> a加入
a | b | c | d | |
S | S -> AaS | S - > BbS | S - > BbS | S -> d |
A | A -> a | |||
B |
FIRST(c) = c 將產生式 B -> c 加入
a | b | c | d | |
S | S -> AaS | S - > BbS | S - > BbS | S -> d |
A | A -> a | |||
B | B -> c |
對於產生式 B -> ε 計算FOLLOW(B)中的所有元素將其加入,計算可得 FOLLOW(B) = { b },所以講產生式加入到M[B,b],計算得出的預測分析表如下
a | b | c | d | |
S | S -> AaS | S - > BbS | S - > BbS | S -> d |
A | A -> a | |||
B | B -> ε | B -> c |