这里 S 是非终结符开始符号;A、B、C 是非终结符;x, y, 是终端符号
S → A B A C | A C A B
A → A x | A y
B → B x x | B y y
C → x y | y x
看过视频后,我了解了消除生产规则中左递归的简单示例,例如
S → a S a
S → b S b
S → ε
但我不明白如何在上面显示的规则中消除左递归。谁能解释或指出我的解释方向?
这里 S 是非终结符开始符号;A、B、C 是非终结符;x, y, 是终端符号
S → A B A C | A C A B
A → A x | A y
B → B x x | B y y
C → x y | y x
看过视频后,我了解了消除生产规则中左递归的简单示例,例如
S → a S a
S → b S b
S → ε
但我不明白如何在上面显示的规则中消除左递归。谁能解释或指出我的解释方向?
在您的第二个示例中没有左递归,因此删除左递归是微不足道的。
在您的第一个语法中,您需要先进行左因子,然后才能解决递归消除问题。(事实上,你的问题的标题是“左因素”,所以你在家庭作业/测验中已经有了这个线索。)
上面提供的链接是谷歌通过搜索词“左因子语法”找到的数百个链接之一,但我建议你至少考虑一下你的课程材料是比谷歌搜索(或随机 Youtube)更好的信息来源的可能性视频)。