由于递归下降子程序方法较LL(1)方法简单,因此它要求文法不必是LL(1)文法。

题目
判断题
由于递归下降子程序方法较LL(1)方法简单,因此它要求文法不必是LL(1)文法。
A

B

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

LL(1)文法是无左递归、无二义性文法。()


参考答案:正确

第2题:

不存在这样的算法,它能判断任意的文法是否为LL(1)文法。()

此题为判断题(对,错)。


正确答案:错误

第3题:

若文法中含有直接或者间接左递归,或含有左公共因子,则该文法肯定不是LL(1)文法。()

此题为判断题(对,错)。


正确答案:√

第4题:

LL(1)文法一定不含左递归和二义性。()

此题为判断题(对,错)。


正确答案:正确 

第5题:

yacc是一个生成编译程序的工具,它的输入是文法G的产生式规则,它的输出是文法G的(29)。

A.优先分析器

B.LL(1)分析器

C.LR(1)分析器

D.LALR(1)分析器


正确答案:D
解析:一个LR分析器由以下3个部分组成。(1)驱动器:或称驱动程序。对所有LR分析器,驱动程序都是相同的。(2)分析表:不同的文法具有不同的分析表。同一文法采用不同的LR分析方法时,分析表也不同。分析表又可分为动作表(ACTION)和状态转换表(GOTO)两个部分,它们都可用二维数组表示。(3)分析栈:包括文法符号栈和相应的状态栈。分析器的动作由栈顶状态和当前输入符号决定(LR(0)分析器不须向前查看输入符号),LR分析器的模型如下图所示。设Si为状态,i为文法符号,ACTION[Si,a]=Sj规定了栈顶状态为Si且遇到输入符号a时应执行的动作。状态转换表GOTO[Si,X]=Sj表示当状态栈顶为Si且文法符号栈顶为X时应转向状态Sj。分析表实际上是一个DFA,它识别文法G的所有右句型的活前缀。构造LR分析器,本质上是构造LR分析表。根据文法的产生式规则,LR分析表用程序能自动生成。yacc的输入,本质上是文法的产生式规则,称为yacc的源程序,通过yacc编译程序,生成用C书写的LALR(1)分析表。再经过C编译器,就得到LALR(1)分析器。LALR(1)分析器比SLR(1)适用的文法范围要宽,一般能满足常用程序语言的需要;和LR(1)比,它适用的文法范围要窄,但时空效率都有很大提高。

第6题:

对于任何LL(1)文法G,总能为G构造一个预测分析表。()


参考答案:正确

第7题:

能够进行不带回溯的自顶向下语法分析的文法称为 LL(1)文法。 ()

此题为判断题(对,错)。


正确答案:正确

第8题:

有文法G=({S},{a},{S→SaS,S→e},S),该文法是哪一类文法()。

A.LL(1)文法

B.算符优先文法

C.二义性文法

D.SL(1)文法


正确答案:C

第9题:

并不是每个文法都能改写成LL(1)文法。 ()

此题为判断题(对,错)。


正确答案:正确

第10题:

一个LL(1)文法是无二义和无回溯方法。()

此题为判断题(对,错)。


正确答案:正确