下面不属于LL(1)分析器的组成部分是()A、LL(1)总控程序B、LL(1)分析表C、分析栈D、源程序串

题目

下面不属于LL(1)分析器的组成部分是()

  • A、LL(1)总控程序
  • B、LL(1)分析表
  • C、分析栈
  • D、源程序串
参考答案和解析
正确答案:D
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

LL(1)分析法的名字中,第一个“L”的含义是什么()。

A自左至右

B自顶向下

C自底向上

D自右至左


正确答案:A

第2题:

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

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


正确答案:正确

第3题:

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


参考答案:正确

第4题:

●试题二

对文法G[S]:S→a|∧|(T);T→T,S|S;回答问题1~问题3。

【问题1】

对文法G进行改写,然后对每个非终结符写出不带回溯的递归子程序。

【问题2】

经改写后的文法是否是LL (1) 的?指出它的预测分析表中 (1) ~ (3) 处的内容。

【问题3】

说明输入串(a,a)是否为G的句子。


正确答案:
●试题二[问题1]【答案】改写文法为:(0)S→a;(1)S→∧;(2)S→(T);(3)T→SN;(4)N→,SN;(5)N→ε非终结符FIRST集FOLLOW集S{a,∧,(}{#,,,}}T{a,∧,c}{}}…N{,,ε}.{}}…对左部为N的产生式可知:FIRST(→,SN)={,}FIRST(→ε)={ε}FOLLOW(N)={}}[问题2]【答案】文法是LL(1)的。(1)→SN;(2)→(T);(3)→ε[问题3]【答案】输入串(a,a)#是文法的句子。【解析】对于文法S→a|∧|(T)T→T,S|S由于SELECT(N→,SN)∩SELECT(N→ε)={,}∩{}}=,所以文法是LL(1)的。也可由预测分析表中无多重入口判定文法是LL(1)的。(3)对输入串(a,a)#的分析过程为:可见输入串(a,a)#是文法的句子。

第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题:

Excel工作表的列标表示为()。

A、1,2,3

B、A,B,C

C、甲,乙,丙

D、1,l,ll


参考答案:B

第7题:

LL(1)文法中第一个L表示()。

A.最左推导

B.最左归约

C.从左到右识别输入串

D.规范归约


正确答案:C

第8题:

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


参考答案:正确

第9题:

LL(1)方法又称为预测分析方法。()

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


正确答案:正确 

第10题:

水准仪置于A、B两点中间,A尺读数a =1. 523m,B尺读数b=1. 305m,仪器移至A点附近,尺读数分别为a' = 1.701m,b' = 1.462m,则有下列中哪项结果?

A.LL//VV
B.LL 不平行
C.L'L'/VV
D.LL 不平行VV

答案:B
解析:
提示:hab=a-b=0. 218;a''=b'+hab=1.680≠a',视准轴不平行于水准管轴。