判断二义性

本文介绍了如何通过计算文法的First集和Follow集来判断文法是否是非二义性的,步骤包括求解First集、Follow集,以及检查左递归或右递归的唯一性。关键步骤包括确保First集合的互不相交和特定推导条件的满足。
摘要由CSDN通过智能技术生成

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

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

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

3.进行两步判断:

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

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

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


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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值