为了求![]() ![]() FIRSTVT(E′)={#} FIRSTVT(E)={+,*,↑,(,i} FIRSTVT(T)={*,↑,(,i} FIRSTVT(F)={↑,(,i} FIRSTVT(P)={(,i} LASTVT(E′)={#} LASTVT(E)={+,*,↑,),i} LASTVT(T)={*,↑,),i} LASTVT(F)={↑,),i} LASTVT(P)={),i} 在计算每个非终结符的FIRSTVT集合和LASTVT集合时,可先考虑文法中含有E→T,T→F ,F→P形式的产生式,由定义6.2的推论可知P的FIRSTVT集合和LASTVT集合也属于F的FIRSTVT集合和LASTVT集合,同样F的也属于T的,T的也属于E的。集合中的其它元素可根据定义由产生式直接计算。 然后逐条扫描产生式寻找终结符在前非终结符在后的相邻符号对和非终结符在前终结符在后的相邻符号对,即产生式右部有形如 A→…aB… 和 A→…Bb… 的产生式。 |