编译原理左递归的消除

在复习编译原理时,在消除左递归的地方有以下想法

首先,消除左递归的目的是为了避免自上而下分析法(LL(1))陷入循环

(另外,构造LL(1)文法还需要消除回溯,即消除左公共因子)

在消除左递归时,我们可以先分析文法中出现左递归的规则所构成的语言

话不多说,上例题:

A->Ab|d构成的语言1.左侧必含有d,2.b的个数为[0,无穷],即db(n-1)(n>=1)

第一条规则是为了满足1.条件,第二条规则是为满足2.条件,这样左递归就消除了

另外,多加几个例子

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值