niusouti.com
更多“13、LL(1)文法的预测分析表没有多重定义入口。”相关问题
  • 第1题:

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

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


    正确答案:错误

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

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


    正确答案:错误

  • 第6题:

    一个上下文无关文法消除了左递归,提取了左公共因子后是满足LL(1)文法的()

    • A、必要条件
    • B、充分必要条件

    正确答案:A

  • 第7题:

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


    正确答案:正确

  • 第8题:

    在编译程序中,语法分析的方法有自底向上分析和自顶向下分析。自底向上分析方法自左向右扫描输入符号串,通过__(1)__分析其语法是否正确。例如,__(2)__就是一种自底向上的分析方法。与其他自底向上分析方法不同,它是根据__(3)__来进行归约的。自顶向下分析方法从文法的开始符号出发,判断其能否__(4)__出输入符号串。采用自顶向下分析方法时,要求文法不含有__(5)__。空白(2)处应选择()

    • A、算符优先分析法
    • B、预测分析法
    • C、递归子程序分析法
    • D、LL(1)分析法

    正确答案:A

  • 第9题:

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


    正确答案:正确

  • 第10题:

    判断题
    LL(1)文法又称为预测分析方法。
    A

    B


    正确答案:
    解析: 暂无解析

  • 第11题:

    单选题
    ()文法不是LL(1)的。
    A

    递归

    B

    右递归

    C

    2型

    D

    含有公共左因子


    正确答案: D
    解析: 暂无解析

  • 第12题:

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

    B


    正确答案:
    解析: 暂无解析

  • 第13题:

    一个LL(1)文法一定是无二义的。()

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


    正确答案:正确

  • 第14题:

    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)比,它适用的文法范围要窄,但时空效率都有很大提高。

  • 第15题:

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

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


    正确答案:正确 

  • 第16题:

    每个文法都能改写为LL(1)文法。


    正确答案:错误

  • 第17题:

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

    • A、LL(1)总控程序
    • B、LL(1)分析表
    • C、分析栈
    • D、源程序串

    正确答案:D

  • 第18题:

    LL(1)文法可以有公共左因子。


    正确答案:错误

  • 第19题:

    ()文法不是LL(1)的。

    • A、递归
    • B、右递归
    • C、2型
    • D、含有公共左因子

    正确答案:D

  • 第20题:

    算符优先文法是一种自底向上的分析方法,其文法的特点是文法的产生式中__(1)__。自顶向下的分析方法通常要求文法的产生式__(2)__,如__(3)__文法就是一种可以自上而下分析的文法。空白(3)处应选择()

    • A、LR(1)
    • B、LL(1)
    • C、SLR(1)
    • D、LALR(1)

    正确答案:B

  • 第21题:

    设有文法G={{S},{a},{S→SaS|ε},S},该文法是()

    • A、LL(1)文法
    • B、二义性文法
    • C、SLR(1)文法
    • D、算法优先文法

    正确答案:B

  • 第22题:

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

    LL(1)总控程序

    B

    LL(1)分析表

    C

    分析栈

    D

    源程序串


    正确答案: C
    解析: 暂无解析

  • 第23题:

    判断题
    每个文法都能改写为LL(1)文法。
    A

    B


    正确答案:
    解析: 暂无解析

  • 第24题:

    判断题
    LL(1)文法可以有公共左因子。
    A

    B


    正确答案:
    解析: 暂无解析