有限自动机与词法分析器.ppt

文法等价变换 文法的等价 对文法G1和G2,若有:L(G1)=L(G2),则称文法G1和G2等价, 记作:G1=G2. 文法等价变换 有些语法分析方法要求被分析的文法满足一定的约束条件,当被分析的文法不满足这些条件是,常常要进行文法变换。 例: G1[S]: S → abSA | a   A → b    G2[Z]:   Z →S    S → abSA |a    A →b 例 :设有如下文法 A ? aBcD B ? b | ? D ? BB | d 消除该文法中的空产生式. 解: (1) ?={B} ?={B, D} (2) A ? aBcD B ? b D ? BB | d 4:消除特型产生式 特型产生式 若文法中的产生式具有形式A?B(B为非终极符),则称该产生式为特型产生式. 特型产生式的缺点是在语法分析中会降低分析的速度,因此应该消除这样的产生式. 证明:构造无特型产生式的文法G2的方法如下: (1) 对文法G1中每个非终极符A,求集合: ?A={B | A=+B, B?VN}. (2) 若B??A,且B??是

文档评论(0)

1亿VIP精品文档

相关文档