预测分析法
空串使用~代替
E’使用小写代替
E -> Te
e -> +Te|~
T -> Ft
t -> *Ft|~
F -> (E)|i|x|y
1.获取非终结符的first集和follow集
first集:
(1)终结符first集为中姐夫本身
(2)若X->a ,则a为X的first集
(3)若X->~, 则 ~ 属于Xfirst集
(4)若X->Y,则将first(Y)加入到first(X)中
(5)E->TE’,若 ~ 属于first(T),则将first(E’)添加至first(E)中
follow集:
(1)A->aB A->aBb (~ 属于 first(b)), 则将follow(A)添加至follow(B);
(2)E->TE’ (~ 属于 first(T)),则follow(E’)应包括follow(E);
(3)E -> TE’ (~属于 first(E’)),则follow(T)应包括follow(E);.
(4)文法开始符号应添加 #
2.编写程序获取产生式的first集和follow集
| 产生式 | first | follow |
|---|---|---|
| E -> Te | ||
| e -> +Te | ||
| e -> ~ | ||
| T -> Ft | ||
| t -> *Ft | ||
| t -> ~ | ||
| F -> (E) | ||
| F -> i | ||
| F -> x | ||
| F -> y |
博客介绍预测分析法,用~代替空串,E’用小写代替。详细说明了获取非终结符的first集和follow集的规则,如终结符first集为其本身等。还提到要编写程序来获取产生式的first集和follow集。

6883

被折叠的 条评论
为什么被折叠?



