dragon-book-exercise-answers icon indicating copy to clipboard operation
dragon-book-exercise-answers copied to clipboard

4.4.6 练习4.4.1 a)没有左递归吧,感觉不需要消除左递归

Open FubinSama opened this issue 5 years ago • 5 comments

S -> 0 A A -> S 1 | 1

FubinSama avatar Jun 12 '19 13:06 FubinSama

感觉我跟博主对消除左递归的算法的理解有点不一样。算法中说将非终结符排成一个序列A1,A2,...,Ak。然后用k做的循环,感觉上不需要把在消除左递归过程中产生的新的非终结符加入序列,并动态的扩大k值。如果需要加入序列的话,作者写的算法中,应该会有说明吧。

FubinSama avatar Jun 12 '19 14:06 FubinSama

同问,感觉这个不是左递归啊

chenyi110 avatar Jun 20 '19 13:06 chenyi110

赞同楼上,这个没有左递归的吧。

KONG98 avatar Jun 21 '19 02:06 KONG98

感觉我跟博主对消除左递归的算法的理解有点不一样。算法中说将非终结符排成一个序列A1,A2,...,Ak。然后用k做的循环,感觉上不需要把在消除左递归过程中产生的新的非终结符加入序列,并动态的扩大k值。如果需要加入序列的话,作者写的算法中,应该会有说明吧。

你理解错意思了,这里就是严格按照书上的算法来的, S -> 0 A A->S | 1 》 A -> 0 A 1 | 1 这一步是为了保证性质:所有产生式Ak->Al a都满足l>k成立

wangyuxiang0829 avatar Feb 21 '21 03:02 wangyuxiang0829

这里也不是间接左递归吧

lawrshen avatar Oct 01 '21 06:10 lawrshen