"第4章语法分析习题答案1及文法分析实例解析"

需积分: 0 3 下载量 6 浏览量 更新于2023-12-31 收藏 961KB PDF 举报
第4章的习题答案1中给出了一些判断题,需要我们判断这些句子的真假性。首先,句子1中说递归下降分析法要求文法不必是LL(1)文法,这是错误的,所以句子1应该是错误的。句子2中说某些左递归文法可能是LL(1)文法,这也是错误的,因为所有的左递归文法都不是LL(1)文法,所以句子2也是错误的。句子3中说任何LL(1)文法都是无二义性的,这是正确的,因为LL(1)文法能够通过预测输入的下一个记号来进行语法分析,所以不存在二义性。句子4中说存在一种算法能判断任何上下文无关文法是否是LL(1)文法,这也是正确的,这种算法就是LL(1)分析算法。句子5中说算符优先分析过程和规范归约过程都是最右推导的逆过程,这是错误的,因为算符优先分析过程和规范归约过程分别是最左规约和最右推导的过程。句子6中说每一个SLR(1)文法都是LR(1)文法,这是正确的,因为SLR(1)文法是LR(1)文法的子集。句子7中说任何一个LL(1)文法都是一个LR(1)文法,反之亦然,这是错误的,因为LL(1)文法和LR(1)文法是两个不同的语法分析方法。句子8中说由于LALR是在LR(1)基础上的改进方法,所以LALR的能力强于LR(1),这是错误的,LALR和LR(1)虽然都是LR分析方法,但LALR仅是对LR(1)分析表中状态进行了合并,所能接受的文法与LR(1)是相同的。句子9中说所有LR分析器的总控程序都是一样的,只是分析表各有不同,这是正确的,LR分析器的总控程序是固定的,只是分析表的构建过程会根据不同的文法而有所差异。句子10中说算符优先分析法很难完全避免将错误的句子得到正确的归约,这是正确的,算符优先分析法相对而言容易出错,因为它没有完全考虑到运算符的关联性。然后,题目中给出了一个文法G[E],要求我们给出句型(E F)*i的短语、简单短语、句柄和最左素短语。通过画出语法树,我们可以得到句型(E F)*i的短语是(E F)*i,简单短语有(E F),句柄是F,最左素短语是E。以上就是题目的解答和总结。