88问答网
所有问题
编译原理中的左递归
编译原理中的左递归是什么意思,直接左递归是什么意思?能解释的清楚些么,书上的太抽象!谢谢啦~~
举报该问题
推荐答案 2009-06-14
1.A->Aa
2.A->Ba
B->Ab (A和B属于非终结符,a和b属于终结符)
通俗点讲:左递归就是情况1所说的“->”两边都含有同一个非终结符;
情况2所说的A->Ba中“->”后面的B 与 B->Ab中“->”前面的B是相同的非终结符
这两种情况就叫作左递归。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://88.wendadaohang.com/zd/Maa1SBBVV.html
其他回答
第1个回答 2009-06-08
左递归就是像例子中E->E + T | T
E->E.... 非结束符推出自己 将会无限递归中
消除左递归
不好讲清楚
举个例子吧
例 算术表达文法
E->E + T | T ( T + T . . . + T )
T->T * F | F ( F * F . . . * F )
F->( E ) | id
消除左递归后文法
E->TE'
E'->+ TE'|字符空
T->FT'
T'->* F T '|字符空
F->( E ) | id
相似回答
编译原理
语法分析中消除
左递归
的问题。比如A→Ab|c中为什么说它是左递归...
答:
定义,就无需争辩了。至于为什么自顶向下文法不能处理
左递归
,解释如下:c∈FIRST(A),所以当预测分析的栈顶出现非终结符A,而输入字符串最左边为c时,就不知道用产生式A->Ab还是A->c了。无法构造预测分析表。比如输入字符串为cbb,我们人当然容易知道是A->Ab->Abb->cbb了,但是电脑没那么聪明,...
编译原理中
左递归
具体解释是什么?
答:
定义:"一个文法是
左递归
的,若我们可以找出其中存在某非终端符号A,最终会推导出来的句型(sentential form)里面包含以自己为最左符号(left-symbol)的句型"即 A -> Aa 或 A -> Ba B -> A 两种形式的文法.
编译原理左递归
消除?
答:
间接
左递归
转直接左递归 B代入A:A ->(Sb|b)c|a -> Sbc|bc|a A代入S:S -> S(Sbc|bc|a)|(Sbc|bc|a)b|b|c -> SSbc|Sbc|Sa|Sbcb|bcb|ab|b|c 消除直接左递归 S->bcbS'|abS'|bS'|cS'S'->SbcS'|bcS'|aS'|bcbS'|ε S'还是有直接左递归,继续消除 S'->bcS'T|aS'T|...
编译原理的
消除
左递归
是怎么回事啊?
答:
A -> Ab A -> e 就是有
左递归
,语法分析里的递归下降法和LL(1)就不能处理啦,因为程序会陷入递归而无法前进。而CFG A -> bA'A' -> bA'|e 和前面一个表达的语言是一样的,但所有语法的第一项都是终结符,就消除了左递归。有消除左递归的算法,一般
编译原理
书上会有介绍,不是很复杂...
【
编译原理
】自顶向下LL(1)分析中,消除
左递归
和提取左因子的目的是什么...
答:
通常LL(1) 是以函数递归调用来实现的 如文法: A -> A + a | a 代码实现则为:function A(){ A();match('+');Term(a);} 这样你可以看得出死循环了吧...?将文法消除
左递归
后 A -> aA'A' -> +aA'则可以避免这一问题 提出公因式 就像楼上说的一样,避免程序回溯,消除二义性....
编译原理
题,在建立LL(1)语法分析器时,提左因子和消除
左递归
的目的是什么...
答:
消除
左递归
是因为LL文法不能处理含有左递归的文法。提左因子只是推后产生式的选择决定,等到获取足够多的输入再作选择。
编译原理
语法分析中,求first,follow集合时,要消除
左递归
吗
答:
如果题目是单纯求first、follow集合,不需要消除
左递归
。但是,如果求first、follow集合是为了判断文法是否为LL(1)文法的话,可以直接得出否定的结论(因为含有左递归的文法绝对不是LL(1)文法)。可以先对文法进行改写,一般是消除左递归和提取左公共因子,然后再判断。
编译原理
题目 s→ (L)|aS|a L→L,S|S 消除
左递归
和回溯(过程请详细点...
答:
消除回溯:提取左公因子a,(注:用e代表一补西农符号,就是反三的那个符号,在电脑上不知道怎么打那个符号)S→aS'|(L)S'→S|e 消除
左递归
:L→SL'L'→,SL'|e (注意S前面有一个符号“,”)
大家正在搜
编译原理的间接左递归
编译原理什么是左递归
编译原理如何消除左递归
编译原理消除左递归试题
编译原理中的句柄是什么
编译原理中的语言
从实战中理解编译原理
编译原理中的闭包
编译原理中的箭头是什么意思
相关问题
编译原理语法分析中消除左递归的问题。比如A→Ab|c中为什么...
【编译原理】自顶向下LL(1)分析中,消除左递归和提取左因子...
编译原理左递归消除?
编译原理,如何消除文法的左递归
编译原理:消除文法中的左递归
编译原理中,经过消除左递归的文法就一定是LL1文法么?
编译原理第4章作业答案