编译原理之推导、规约、句柄与文法的二义性

编译原理之推导、规约、句柄与文法的二义性

  这篇文章重点是说明一个句子的规范推导过程和最左规约的过程,以及这一过程是如何与短语、句柄等概念联系的,同时说明这些概念与文法二义性的联系。现有网络资料大部分不够细节而且大量重复,比如如何通过句柄判断文法的二义性,很多文章就只说一个结论,没有将句柄和规约联系起来。甚至不少文章的内容是有问题的,比如一个句子存在两种规范推导,那这一句型的句柄一定不唯一吗?针对上述问题,我专门写出这篇博文来对一些细节问题进行详细说明和记录。

推导与规约

  在编译原理的总结之中,我们知道一个句子可能存在多种推导方式,所以我们约定两种特殊的推导方式(顺序),即最左推导和最右推导。句子的推导是我们从开始符号,推出我们想要的句子的过程。与之相反,拿到一个句子,我们反推回开始符号,这个过程是句子的规约。因此,最左推导和最右推导分别对应最右规约和最左规约。上述概念的形式化定义如下:
  最右推导(规范推导): 对于直接推导xUy⇒ xuy,如果y只包含终结符号或者为空符号串(相当于右边已经没有可以被拆分的非终结符了),那么,就把这种直接推导称为规范推导。
  最左推导: 与最右推导相反。
  最左规约: 为最右推导的逆过程,对于一个句子,每次都从最左端,可规约的符号或符号串(句柄

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值