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 |