早教吧 育儿知识 作业答案 考试题库 百科 知识分享

为什么在自上而下的语法分析中,文法不能含有左递归和公共左因子

题目详情
为什么在自上而下的语法分析中,文法不能含有左递归和公共左因子
▼优质解答
答案和解析
因为需要某个扩展时,需要根据读的到第一个字符来判断执行哪个扩展.
如果有左递归的话,将会陷入不停扩展的死循环.如果有公共左因子的话,也无法判断该选择哪个扩展.
比如E->EF,语法分析程序应该是
E()
{
E();
F();
}
这样,明显是个无限递归.
再比如E->aA|aB,当读到a时,分析器无法知道下一步该调用A的扩展函数还是B的扩展函数.
看了 为什么在自上而下的语法分析中...的网友还看了以下: