方法
我的理解:
- 首先分别计算出FIRST()和FOLLOW()集合
- 在对每一个非终结符的FIRST()依次分析,假设有E–>TL,其中FIRST(E)={+,-},那么在分析表中[E,+]和[E,-]对于的框框就应该填写E–>TL。
- 注意:如果FIRST(E)中含有空集。emm,还是同样假设有E–>TL,其中FIRST(E)={+,-,空},其FOLLOW(E)={mod,*},那么[E,+]和[E,-]对于的框还是E–>TL,而这里还需要加上[E,mod]和[E, 乘法 ] 对应的框为空
举例说明
文法为:
FIRST()和FOLLOW()集合为:
按照上述的方法构造的预测分析表为: