语法分析和语法分析程序-UIC.ppt

LL分析法 LL分析法的分析器由一张预测分析表(LL(1)分析表),一个控制程序(表驱动程序)及一分析栈组成 -、构造FIRST集的算法 对于G中的每个文法符号X,为求FIRST(X),反复应用如下规则,直到集合不再增大: (1) if (X?VT) { FIRST(X)={X};} (2)if (X?VN) { if(X?a??P ? a?VT) a?FIRST(X); if (X???P) {??FIRST(X);} } (3) if (X?Y1Y2…Yk?P) {if (Y1?VN) {FIRST(Y1)-{?} ?FIRST(X);} for(1? j? k-1)if (Yj?VN???FIRST(Yj)){FIRST(Yj)-{?}?FIRST(X);} if (for(1? j? k): ?? FIRST(Yj)) {??FIRST(X);} ???V*,?=X1X2…Xn,求FIRST(?)类似于求X?Y1Y2…Yk,略. 构造FOLLOW集的算法 FOLLOW: VN?VT?{#},反复使用如下规则,直到不再增大: 1. # ?FOLLOW(S); 2. if (A??B??P) {FIRST(?)-{?}?FOLLOW(B);} 3. if ( (A??B?P) ? ( A??B? ? ??FIRST(?) ) )

文档评论(0)

1亿VIP精品文档

相关文档