本文依旧来自记笔记相当勤快的七米八同学。向他表示真诚的感谢!
二义文法的处理
添加附加条件
在前面的内容中,我们已经知道,想要解决二义文法的问题,必须添加附加条件。
例: E→E+E|E∗E|(E)|i
注意一下下图中的 I0 ,第一行式子是 E′→E ,那个撇不一定能看得清
具体推导过程如图:
此时可以推得构造表,但是此时是会有冲突的。我们只能强行规定优先级,如,规定① ∗⋖+ ,② +、∗ 都是右结合。
我们假设已经知道了 r1=E→E∗E,S4=E→E∗E 。那么对于已有在符号栈中 E∗E 规约出了 S4 ,此时符号栈就变成了