判断二义性

在清华大学出版社的编译原理与技术第二版,第4章第2.3节给出了一个理论解决方案:

1.求出文法所有非终结符号的First集,

2.求出文法所有非终结符号的Follow集,

3.进行两步判断:

(1)非终结符号A的任何两个候选式的first集合不相交

(2)f若A的某个候选式可以推导出ε,则其它候选式的First集与Follow(A)不相交。

满足以上两个条件的文法一定是非二义性的。


如果一个文法有唯一的左递归或右递归,那么就不具有二义性。

上一篇:【编译原理】词法分析和语法分析两万字全总结(这知识它不进脑子啊~!)


下一篇:spring boot -- 整合Mybatis