niusouti.com

2、对于一个文法若消除了左递归,提取了左公共因子后是否一定为LL(1)文法?试对下面文法进行改写,并对改写后的文法进行判断。 (1) A→baB|ε B→Abb|a (2) A→aABe|a B→Bb|d (3) S→Aa|b A→SB B→ab

题目

2、对于一个文法若消除了左递归,提取了左公共因子后是否一定为LL(1)文法?试对下面文法进行改写,并对改写后的文法进行判断。 (1) A→baB|ε B→Abb|a (2) A→aABe|a B→Bb|d (3) S→Aa|b A→SB B→ab


相似考题
更多“2、对于一个文法若消除了左递归,提取了左公共因子后是否一定为LL(1)文法?试对下面文法进行改写,并对改写后的文法进行判断。 (1) A→baB|ε B→Abb|a (2) A→aABe|a B→Bb|d (3) S→Aa|b A→SB B→ab”相关问题
  • 第1题:

    文法G[S]:S→AB,B→BB|B不是LR(0)文法。()

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


    正确答案:错误

  • 第2题:

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

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


    正确答案:改写文法为: (0)S→d (1)S→∧ (2)S→(T) (3)T→SN (4)N→SN (5)N→ε 非终结符 FIRST集 FOLLOW集 S {a∧(} {#}} T {a∧(} {}}… N {ε}. {}}… 对左部为N的产生式可知: FIRST(→SN);{} FIRST(→ε):{ε} FOLLOW(N)={}}
    改写文法为: (0)S→d (1)S→∧ (2)S→(T) (3)T→SN (4)N→,SN (5)N→ε 非终结符 FIRST集 FOLLOW集 S {a,∧,(} {#,,,}} T {a,∧,(} {}}… N {,,ε}. {}}… 对左部为N的产生式可知: FIRST(→,SN);{,} FIRST(→ε):{ε} FOLLOW(N)={}}

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

    已知文法:S→aAa|aBb|bAb|bBaA→xB→x,则()

    • A、LR(1)文法
    • B、LALR(1)文法
    • C、都不是
    • D、A和B

    正确答案:A

  • 第6题:

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


    正确答案:错误

  • 第7题:

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


    正确答案:错误

  • 第8题:

    设有文法G[W]:W→A0A→A0|W1|0,改写文法消除左递归


    正确答案: 非终结符排序为W,A
    则W→A0A→A0|A01|0
    改写后消除左递归为W→A0A→0A’A’→0A’|01A’|ε

  • 第9题:

    问答题
    设有文法G[W]:W→A0A→A0|W1|0,改写文法消除左递归

    正确答案: 非终结符排序为W,A
    则W→A0A→A0|A01|0
    改写后消除左递归为W→A0A→0A’A’→0A’|01A’|ε
    解析: 暂无解析

  • 第10题:

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

    必要条件

    B

    充分必要条件


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

  • 第11题:

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

    B


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

  • 第12题:

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

    不以非终结符开头

    B

    不以终结符开头

    C

    不含左递归

    D

    不含右递归


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

  • 第13题:

    考虑下述文法,S为开始符号 G1[S]:S→A A→aAb | ab G2[S] S→AA→aA |a| 下列结论中为真的是(28)。

    A.G1是LR(0)文法,G2不是LR(1)文法

    B.G2是LR(0)文法,G1不是LR(1)文法

    C.G2是LR(1)文法,G1不是LR(1)文法

    D.G1和G2都是LR(1)文法


    正确答案:A
    解析:因为G2存在句子aa,该句子有两棵不同的语法树,所以文法G2是二义性文法。二义性文法不是LR文法,所以B、C、D不正确。选A。

  • 第14题:

    提左因子也是一种文法变换,它用于产生适合于自上而下分析的文法。()

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


    正确答案:正确

  • 第15题:

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

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


    正确答案:正确 

  • 第16题:

    文法S→abC,bC→ad是几型文法?()

    • A、0型文法
    • B、1型文法
    • C、2型文法
    • D、3型文法

    正确答案:B

  • 第17题:

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


    正确答案:错误

  • 第18题:

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

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

    正确答案:A

  • 第19题:

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

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

    正确答案:D

  • 第20题:

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

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

    正确答案:B

  • 第21题:

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

    递归

    B

    右递归

    C

    2型

    D

    含有公共左因子


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

  • 第22题:

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

    B


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

  • 第23题:

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

    B


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

  • 第24题:

    单选题
    已知文法:S→aAa|aBb|bAb|bBaA→xB→x,则()
    A

    LR(1)文法

    B

    LALR(1)文法

    C

    都不是

    D

    A和B


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