编译原理5.1自下而上语法探索.ppt

由数组布尔元素值知文法中每个非终结符的FIRSTVT(A)集合为: FIRSTVT(E`)={#} FIRSTVT(E)={+,*,↑,(,i} FIRSTVT(T)={*,↑,(,i} FIRSTVT(F)={ ↑,(,i } FIRSTVT(P)={(,i}   5 构造优先表方法 ① 对形如 P-…ab…和形如P-…aQb…,有a b; ②对形如 P-…aR…,而b∈FIRSTVT(R),有a b; ③对形如 P-…Rb…,而a∈LASTVT(R),有a b; ④对文法开始符号S,有# FIRSTVT(S),LASTVT(S) #, 且对 #S#,有# #。 Ch5 语法分析 5.2 算符优先分析法 5.2.2 算符优先分析与分析器 算法5.3 构造文法G的优先关系表 输入:文法G及G的FIRSTVT(G)和LASTVT(G) 输出:文法G的优先关系表 方法: for G中的每条规则 P→x1x2…xn { ① 置相邻的两个终结符xi和xi+1(或只隔一个 非终结符)为“?”,即xi?xi+1; ② if xi∈VT而xi+1∈VN 则 for FIRSTVT(Xi+1) 中的每个a置xi?a; ③ if xi∈VN而xi+1∈VT 则 for LASTVT(xi) 中的每个a置a ?xi+1。

文档评论(0)

1亿VIP精品文档

相关文档