已知某个LR(1)文法,使用LALR(1)分析法进行分析,则LALR(1)合并同心集后项目集后一定不会存在“移进归约”冲突。

题目

已知某个LR(1)文法,使用LALR(1)分析法进行分析,则LALR(1)合并同心集后项目集后一定不会存在“移进归约”冲突。


相似考题
更多“已知某个LR(1)文法,使用LALR(1)分析法进行分析,则LALR(1)合并同心集后项目集后一定不会存在“移进归约”冲突。”相关问题
  • 第1题:

    在下述的编译方法中,自顶向下的分析方法有()。

    A、简单优先分析

    B、算符优先分析

    C、递归下降分析

    D、预测分析技术

    E、LR(K)分析

    F、SLR(k)分析

    G、LL(k)分析

    H、LALR(K)分析


    参考答案:A

  • 第2题:

    一个LR(1)文法合并同心集后,如果不是LALR(1)文法必定存在( )。

    A.移进--归约冲突

    B.归约--归约冲突


    正确答案:B

  • 第3题:

    LR分析法是一种规范归约分析法,规范归约是(29)的逆过程。

    A.最左推导

    B.最右推导

    C.自上而下

    D.自下而上


    正确答案:B
    解析:LR分析法的第1个字母L表示从左至右读输入串,第2个字母R表示为输入串构造一个最右推导,不过,构造过程是按最右推导的逆过程进行的。所谓文法G的一个句子α的规范归约,就是α的最右推导的逆过程。规范归约的定义如下:设α是文法G的一个句子,称右句型序列αn,αn-1,…,α0是α的一个规范归约,若这个右句型序列满足:(1)αn=α,α0=S(2)对任何i(0i≤n),αi-1是把αi中的句柄替换成相应产生式的左部符号而得到的。下面举例说明。对于文法G2=(VT={a,',',(,)},VN={S,L},S,P),其中P为,S→(L)|aL→L,S|S句子(a,a)的最右推导是:其规范归约是(a,a),(S,a),(L,a),(L,S),(L),S。LR分析过程由下表给出。从表中看出,LR分析过程是一个移进—归约过程。LR分析法一般称为LR(k)分析法,k表示根据当前分析栈中的符号串(通常以状态表示)和向右顺序查看输入串的k个(k0)符号,就可唯一确定分析器的动作是移进还是归约,以及用哪条产生式进行归约,因而也就能唯一地确定句柄。当k=1时,已能满足当前绝大多数高级语言编译程序的需求。LR分析有LR(0)、SLR(1)、LALR(1)和LR(1)4种,常用的LR分析是SLR(1)和LALR(1)分析。

  • 第4题:

    是编译程序中语法分析器的接受单位,并产生供以后各阶段使用的有关信息。LR分析法、(2)和(3)是几种常见的语法分析技术,其中(2)和LR分析法属于自下而上分析法,而(3)属于自上而下分析法。LR分析法有SLR(1)、LR(0)、LR(1)和LALR(1)4种,其中(4)的分析能力最强,(5)的分析能力最弱。

    A.语句

    B.单词

    C.产生式

    D.表达式


    正确答案:B

  • 第5题:

    如果LR(1)项目集如果除去(50)是相同的,则称这两个LR(1)项目同心。

    A.项目

    B.活前缀

    C.搜索符

    D.前缀


    正确答案:C
    解析:同心集是指两个项目集它们所含的LR(0)项目相同(即不看搜索符时),而加了搜索符变成不同的LR(1)项目集。这种现象也可以看成是由于LR(1)项目集的构造使某些同心集进行了分裂。

  • 第6题:

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

    A.归约-移进

    B.归约-归约

    C.移进-归约

    D.移进-移进


    正确答案:C
    解析:自底向上分析方法自左向右扫描输入符号串,通过移进-归约分析其语法是否正确。算符优先分析法是一种白底向上的分析方法,它根据素短语来进行归约。自顶向下分析方法从文法的开始符号出发进行最左推导,判断其能否推导出输入符号串,需要消除文法中的左递归和提取公共左因子。

  • 第7题:

    同心集的合并有可能产生新的“移进”/“归约”冲突。


    正确答案:错误

  • 第8题:

    一个LR(1)文法合并同心集后若不是LALR(1)文法()

    • A、则可能存在移进/归约冲突
    • B、则可能存在归约/归约冲突
    • C、则可能存在移进/归约冲突和归约/归约冲突

    正确答案:B

  • 第9题:

    同心集的合并有可能产生“归约/归约”冲突。


    正确答案:正确

  • 第10题:

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

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

    正确答案:B

  • 第11题:

    判断题
    同心集的合并有可能产生新的“移进”/“归约”冲突。
    A

    B


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

  • 第12题:

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

    归约一移进

    B

    移进-移进

    C

    移进-归约

    D

    归约-归约


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

  • 第13题:

    若在某项目集中,既含有移进项目,又含有归约项目,则反映到LR(0)分析表中就会出现具有多重定义的元素。()


    参考答案:正确

  • 第14题:

    同心集的合并有可能产生“归约/归约”冲突。()

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


    参考答案:√

  • 第15题:

    考虑下述文法,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。

  • 第16题:

    同心集合并可能会产生的冲突为()。

    A.二义

    B.移进-移进

    C.移进-归约

    D.归约-归约


    正确答案:D

  • 第17题:

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

  • 第18题:

    若项目集IK含有A→α.,则在状态k时,仅当面临的输入符号a∈FOLLOW(A)时,才采取“A→α.”动作的一定是(19)。

    A.LALR 文法

    B.LR(0)文法

    C.CLR(1)文法

    D.SLR(1)文法


    正确答案:D
    解析:当用产生式A→α归约时,LR(0)无论面临什么输入符号都进行归约;SLR(1)则仅当面临的输入符号a∈FOLLOW(A)时进行归约;LR(1)则当在把α归约为A的规范句型的前缀βAα前提下,当α后跟终结符a时,才进行归约。

  • 第19题:

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

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

    正确答案:A

  • 第20题:

    LR分析方法是已知的最一般的无回溯的移进-归约方法。


    正确答案:正确

  • 第21题:

    下述方法中,()不是自下而上分析方法。

    • A、规范归约
    • B、算符优先分析法
    • C、递归下降分析法
    • D、LR分析法

    正确答案:C

  • 第22题:

    判断题
    LR分析方法是已知的最一般的无回溯的移进-归约方法。
    A

    B


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

  • 第23题:

    判断题
    同心集的合并有可能产生“归约/归约”冲突。
    A

    B


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

  • 第24题:

    单选题
    一个LR(1)文法合并同心集后若不是LALR(1)文法()
    A

    则可能存在移进/归约冲突

    B

    则可能存在归约/归约冲突

    C

    则可能存在移进/归约冲突和归约/归约冲突


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