编译原理与编译构造 文法的优化1

1. 删除无用的产生式

  1. PP P → P,例如:AB,BC,CA A → B , B → C , C → A

  2. 删除无用的终结符对应的产生式

    具体做法:以开始符为根,构造非终结符的关系树,不在树上的,就是无用的。无法推出终结符的,则也是无用的。

2. 删除ϵ ϵ产生式

例如:Sϵ,SABC,AaA|ϵ,BbB|ϵ,CcC|ϵ S → ϵ , S → A B C , A → a A | ϵ , B → b B | ϵ , C → c C | ϵ

其中的Sϵ S → ϵ就是多余的,因为可以由后面四条表达式推出,当然这里的优化是为了减少不必要的式子,实际上有时候会写出来以空间换时间

例题的话,龙书上有,我暂时先不加了。。。

第2部分未完待续。。。


版权声明:本文为qq_33230935原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。