已知文法G2=(VT={a,',',(,)},VN{S,L},S,P),其中P为, S→(L)|a L→L,S|S (a,(a,a))是L(G2[S])的句子,这个句子的最左推导是(28)A.B.C.D.

题目

已知文法G2=(VT={a,',',(,)},VN{S,L},S,P),其中P为, S→(L)|a L→L,S|S (a,(a,a))是L(G2[S])的句子,这个句子的最左推导是(28)

A.

B.

C.

D.


相似考题
更多“ 已知文法G2=(VT={a,',',(,)},VN{S,L},S,P),其中P为, S→(L)|a L→L,S|S (a,(a,a))是L(G2[S])的句子,这个句子的最左推导是(28)A.B.C.D. ”相关问题
  • 第1题:

    假设某程序语言的文法如下:

    S→a|b|(T)

    T→TdS|S

    其中:VT={a,b,d,(,)},VN{S,T},S是开始符号。

    考查该文法,称句型(Sd(T)db)是S的一个(33),其中,(34)是句柄:(35)是素短语;(36)是该句型的直接短语;(37)是短语。

    A.最左推导

    B.最右推导

    C.规范推导

    D.推导


    正确答案:D

  • 第2题:

    已知文法G2=(VT={a,b},VN={S,A},S,P),其中P为, S→Sb|Ab A→aSb|ε 该文法生成的语言是(28)。

    A.{ambn|n>m≥0}

    B.{ambn|m>n≥0}

    C.{ambn|n≥m≥1}

    D.{ambn|m≥n≥1}


    正确答案:A
    解析:根据文法G2的产生式A→aSb|ε,用A的产生式推导出终结符号串,如果仅用A→ε,则产生{ε};如果先用若干次A→aSb推导,再用A→ε,则推导过程如下:因此,由A生成的终结符号集合是{ambm|m>0}。从S出发使用产生式S→Sb|Ab进行推导,或者。最后,L(G2)={ambm|m0}连接{bk|k>0}={ambm+k|m+k>m0}={ambn|n>m0}。

  • 第3题:

    已知文法G2=(VT={a,',',(,)},VN={S,L),S,P),其中P为 S→(L)|a L→-L,s|s 与G2等价的不含左递归规则的文法是(29)。

    A.G21=(VT={a,',',(,)},VN={S,L},S,P),其中P为 S→(L)|a L→S,S|S

    B.G22=(VT<a,',',(,)},VN={S,L,L'},S,P),其中P为 S→(L)|a L→SL' L'→SL'|ε

    C.G23=(VT{a,',',(,)},VN={S,L,L'},S,P),其中P为 S→(L)|a L→SL' U→,SL'|ε

    D.G24=(VT=(a,',',(,)},VN=<S,L,L'},S,P),其中P为 S→(L)|a L→SL' L→SL'|S


    正确答案:C
    解析:采用自顶向下的预测分析法首先是等价改写给定的文法,消除文法的左递归和提取产生式的公共左因子。消除直接左递归的方法如下:若A→Aα|β,其中α,β∈(VT∪VN)*,β不以A开始,则关于A的这种形式的产生式可改写成A→βA'A'→αA'|ε一般而言,假设A的产生式为A→Aα1|Aα2|…|Aαn|β1|β2|…|βm其中αI(i=1,2,…,n)不等于ε,βj(j=1,2,…,m)不以A开始,那么上述产生式可改成A→β1A'|β2A'|…|βmA'A'→α1A'|α2A'|…|αnA'|ε消除文法G2中规则的左递归后,其规则变成S→(L)|aL→SL'L'→,SL'|ε

  • 第4题:

    给定文法G[S]及其非终结符A,FIRST(A)定义为:从A出发能推导出的终结符号的集合(S是文法的起始符号,为非终结符)。对于文法G[S]: S→[L]|a L→L,S|S 其中,G[S]包含的4个终结符号分别为: a , [ ] 则FIRST(S)的成员包括(48)。

    A.a

    B.a、[

    C.a、[和]

    D.a、[、]和,


    正确答案:B
    解析:本题考查程序语言基础知识。
      程序语言的语法可由上下文无关文法表示,合法的程序可看作是由该文法推导得到。
      对于文法G[S],从S出发推导出[a,a]和a的过程可表示为:
      S=>[L]=>[L,S]=>[S,S]=>[a,S]=>[a,a]
      S=>a
      从S出发可推导出以a或[开始的符号串,因此FIRST(S)的成员包括a、[。

  • 第5题:

    对于下面的文法G[S],______ 是其句子(从S出发开始推导)。G[S]: S→M|(S,M)M→P|MP P→a|b|c|... |x|x|z

    A.[(a,f)]

    B.[(fac,bb),g]

    C.(abc)

    D.[c,(da)]


    正确答案:B
    解析:若文法G的开始符号为S,那么从开始符号S能推导出的符号串称为文法的一个句型,即α是文法G的一个句型,当且仅当有如下推导。若X是文法G的一个句型,且,则称X是文法G的一个句子。

  • 第6题:

    设语言L={w|w∈{a,b}+且w中a和b的个数相等},产生语言L的上下文无关文法是(28)。

    A.Ga=(VT={a,b},VN={S,A,B},S,P),其中P为, S→a|aA|bSS A→aB|bS B→b|bA|aBB

    B.Gb=(VT={a,b},VN={S,A,B},S,P),其中P为, S→b|bB|aSS B→aS|bA A→a|aB|bAA

    C.Gc=(VT={a,b},VN{S,A,B},S,P),其中P为, S→aB|bA A→a|aS|bAA B→b|bS|aBB

    D.Gd=(VT={a,b},VN={S,A,B},S,P),其中P为, S→aB|bA|s A→aS|bAA B→bS|aBB


    正确答案:C
    解析:字母表{a,b}上的任何非空串,从其所含a和b的个数来划分,分成下面3个集合:①a和b的个数相等:②a比b的个数多,但仅要a比b的个数多1个的那些子串;③b比a的个数多,但仅要b比a的个数多1个的那些子串。通过上面的分析,根据用文法规则产生句子的原理,设3个非终结符号,不妨称做S、A、B,它们的产生式分别完成:①用S的产生式推导出a和b的个数相等的串;②用A的产生式推导出a比b的个数多1个的串;③用B的产生式推导出b比a的个数多1个的串。根据3个非终结符号S、A、B的含义,显然,关于S的产生式应该是S→aB|bA。对于A产生的串,若第1个字符是a,则剩下的是a和b的个数相等的串:若第1个字符是b,则跟随b的是a比b的个数多2个的串,这个串是两个a比b的个数多1个的子串。根据上述分析,写出关于A的产生式A→a|aS|bAA。可以通过和A类似的分析,写出关于B的产生式B→b|bS|aBB。可以用归纳法证明上面所写的文法是正确的。现在,我们很清楚被选答案中的4个文法所描述的语言,它们分别是:L(Ga)={w|w∈{a,b}+且w中a比b的个数多一个}L(Gb)={w|w∈{a,b}+且w中b比a的个数多一个}L(Gc)={w|w∈{a,b}+且w中a和b的个数相等}L(Gd)={w|w∈{a,b}+且w中a和b的个数相等}

  • 第7题:

    已知文法G1=(VT={a,b,d},VN={S,A,B},S,P),其中P为, S→dAB A→aA|a B→bB|ε 该文法生成的语言是(28)。

    A.{dambn|m≥0,n≥O}

    B.{dambn|m≥1,n≥0}

    C.{dambn|m≥0,n≥1}

    D.{dambn|m≥1,n≥1}


    正确答案:B
    解析:已知文法G=(VT,VN,S,P),它所产生的语言定义如下:若有S(11)w,则称w是文法G的一个句型。仅含终结符的句型是一个句子。语言L(G)是由文法G产生的所有句子组成的集合:L(G)={w|Sw且w∈VT*}推导的定义如下:设文法G=(VT,VN,S,P),A→β∈P,γ,δ∈V*,则稀γAδ直接推导出γβδ,表示成这个定义告诉我们,若知道γAδ∈V*,根据A→β∈,可求出γβδ∈V*,方法是用A→β的右部β替换γAδ中的A得到γβδ;相反,若知道γβδ∈V*,根据A→β∈P,可求出γAδ∈V*,方法是用A→p的左部A替换γβδ中的β得到γAδ。若存在一个推导序列:,则称从a0经n步推导出an,表示成根据文法G1的第1条规则S→dAB知道,文法G1产生的句子的第1个字符是d,后跟着由A产生的终结字符串,再后边跟着由B产生的终结字符串。根据文法G1的第2条规则A→aA|a知道,由A产生的终结字符串是{am|m1};根据B的规则B→bB|ε知道,由B产生的终结字符串是{bn|0}。因此,L(G1)={dambn|m1,n0}。

  • 第8题:

    导体电阻大小的计算公式为().

    A.R=P(L/S)

    B.R=P(S/L)

    C.R=L(S/P)


    参考答案:A

  • 第9题:

    已知一个不带头结点单链表的头指针为L,则在表头元素之前插入一个新结点*s的语句为:()

    • A、 L=s; s->next=L;
    • B、 s->next=L; L=s;
    • C、 s=L; s->next=L;
    • D、 s->next=L; s=L;

    正确答案:B

  • 第10题:

    导体电阻大小的计算公式为().

    • A、R=P(L/S)
    • B、R=P(S/L)
    • C、R=L(S/P)

    正确答案:A

  • 第11题:

    单选题
    导体电阻大小的计算公式为().
    A

    R=P(L/S)

    B

    R=P(S/L)

    C

    R=L(S/P)


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

  • 第12题:

    单选题
    已知一个不带头结点单链表的头指针为L,则在表头元素之前插入一个新结点*s的语句为:()
    A

     L=s; s->next=L;

    B

     s->next=L; L=s;

    C

     s=L; s->next=L;

    D

     s->next=L; s=L;


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

  • 第13题:

    已知G4=(VT{a,',',(,)},VN={S,L,L'},S,P),其中P为, S→(L)|a|ξ L→SL' L'→,SL'|ξ FOLLOW(S)是(29)。

    A.{',',ξ,}}

    B.{','#,}}

    C.{a,','ξ,}}

    D.{a,',',#}


    正确答案:B
    解析:终结符A的FOLLOW集合定义如下:FOLLOW(A)={a|S…Aa…,a∈VT,A∈VN},若S…A,则规定#∈FOLLOW(A),约定#为句子结束标记。给定一个文法,求FOLLOW(A)的算法如下:①对于文法的开始符号S,置#于FOLLOW(S)中;②若A→αBβ∈P,则把FIRST(β)中的所有非∈—元素都加至FOLLOW(B)中;③若A→αB∈P,或A→αBβ∈P而βξ,则把FOLLOW(A)加至FOLLOW(B)中。重复使用上述3条规则,直到每个FOLLOW集合不再增大为止。非形式地说,一个非终结符的FOLLOW集合,就是从文法开始符号可以推导出的所有含A句型中紧跟在A之后的所有终结符号。首先,因为S是开始符号,所以,置#于FOLLOW(S)中。根据L→SL',把FIRST(L')中的所有非ξ一元素都加至FOLLOW(S)中,即把','加至FOLLOW(S)中。又根据L→SL'和L'ξ,把FOLLOW(L)加至FOLLOW(S)中,即把')'加至FOLLOW(S)中。最后,FOLLOW(S)为{#,',',)}。

  • 第14题:

    已知文法G1=(VT={a,b,d},VN={S,A,B},S,P),其中P为: S→dAB A→aA|a B→bB|ε 该文法属于(28)文法。

    A.0型

    B.上下文有关

    C.上下文无关

    D.正规


    正确答案:C
    解析:乔姆斯基(Chomsky)把文法分成4种类型,即0型、1型、2型和3型,由此产生的语言分别称为0型、1型、2型和3型语言。这几类文法的差别在于对产生式的形式施加不同的限制,如下表所示。0型文法也称短语文法,1型文法也称上下文有关文法,2型文法也称上下文无关文法,2型文法的识别器模型是下推自动机。3型文法也称线性文法(或称正规文法),其识别器模型是有限状态自动机。文法G1的所有产生式形式都是A→β,其中A∈VN,β∈V*,且第1条规则S→dAB是非线性的,因此文法G1属于2型文法,又称上下文无关文法。

  • 第15题:

    假设某程序语言的文法如下:

    S→a|b|(T)

    T→TdS|S

    其中,VT={a,b,d,(,));VN={S,T},S是开始符号。考察该文法,句型(Sd(T)db)是S的一个(28)。

    其中(29)是最左素短语,(30)是该句型的直接短语。

    (74)

    A.最左推导

    B.最右摊导

    C.规范推导

    D.推导


    正确答案:D

  • 第16题:

    对于以下的文法G[S],(27)是其句子(从S出发开始推导)。 G(S):S→M|(S,M) M→P|MP P→a|b|c|…|x|x|z

    A.(abc)

    B.((a,f))

    C.(c,(da))

    D.((fac,bb),g)


    正确答案:D
    解析:对于语言结构的文法表示中的“推导”,就是用产生式的右部替换产生式左部的符号。从文法的开始符号出发,不能推导出(abc)、((a,f))和(c,(da))。对于产生符号串((fac,bb),g)的推导过程如下。

  • 第17题:

    已知G4=(VT{a,',',(,)},VN={S,L,L'},S,P),其中P为, S→(L)|a|ε L→SL' L'→,SL'|ε FIRST(SL')是(29)。

    A.{',',ε}

    B.{(,a}

    C.{(,a,',')

    D.{(,a,',' ,ε)


    正确答案:D
    解析:FIRST(α)的定义如下:FIRST(α)={a|αa…,a∈VT},若αs,则规定ε∈FIRST(α)。从上面定义可以看出,FLRST(α)是从α推导出来的终结符号集合。从SL'推导出的终结符号集合首先包括从S推导出来的终结符号。因为S的规则是S→(L)|a|ε,因此,从S推导出来的终结符号有‘(’和‘a’。又因为Sε,因此,FIRST(SL')中也包括从L'推导出来的终结符号。根据L'→,SL'|ε,从L'推导出来的终结符号是','。最后,SL'ε,则ε∈FIRST(SL')。

  • 第18题:

    己知文法G2=(VT={a,',',(,)},VN={S,L},S,P),其中P为, S→(L)|a L→L,S|S 右句型(L,(L,S))的句柄是(28)。

    A.(L,(L,S))

    B.(L,S)

    C.L,S

    D.S


    正确答案:C
    解析:在自底向上分析的过程中,按最右推导的逆过程构造出最右推导,称为规范归约。关键是每步找出被归约的右句型的“可归约串”,称为“句柄”。请读者仔细领会句柄的定义。右句型(最右推导推导出的句型)γ的句柄是一个产生式A→β以及γ中的一个位置,根据这个位置可找到β,用A代替β得到最右推导的前一个右句型。即如果有下面的最右推导:SaAwaβw那么,在a后A→β是aβw的句柄。句柄右边的w仅含终结符号。有的教课书上,句柄的定义借助于短语、直接短语的定义给出:设G=(VT,VN,S,P)足一个文法,若SaAγaβγ则在句型aβγ中,β是相对于非终结符号A的短语。又若SaAγaβγ则在句型αβγ中,β是相对于非终结符号A的直接短语,最左边的直接短语称为句柄。根据句型(L,(L,S))的最右推导:S(L,(L))(L,(L,S))(此步最右推导使用规则S→L,S)因此,(L,(L,S)中的L,S是句型(L,(L,S))的句柄。

  • 第19题:

    ● 给定文法G[S]及其非终结符A,FIRST(A)定义为:从A出发能推导出的终结符号的集合(S 是文法的起始符号,为非终结符)。对于文法G[S]:

    S→[L] | a

    L→L, S| S

    其中,G[S]包含的四个终结符号分别为:

    a , [ ]

    则FIRST(S)的成员包括 (48) 。

    (48)

    A. a

    B. a、[

    C. a、[和]

    D. a、[、]和,


    正确答案:B


  • 第20题:


    A.Q=16.224L/s,P=0.200MPa
    B.Q=21.456L/s,P=0.350MPa
    C.Q=11.664L/s,P=0.244MPa
    D.Q=28.080L/s,P=0.549MPa

    答案:C
    解析:

  • 第21题:

    已知一个带头结点单链表L,在表头元素前插入新结点 *s的语句为:()

    • A、 L=s;s->next=L;
    • B、 s->next=L->next;L->next=s;
    • C、 s=L;s->next=L;
    • D、 s->next=L; s=L;

    正确答案:B

  • 第22题:

    问答题
    已知L是无表头结点的单链表,且P结点既不是首元结点,也不是尾元结点,试从下列提供的答案中选择合适的语句序列。 a.在P结点后插入S结点的语句序列是()。 b.在P结点前插入S结点的语句序列是()。 c.在表首插入S结点的语句序列是()。 d.在表尾插入S结点的语句序列是()。 (1)P->next=S; (2)P->next=P->next->next; (3)P->next=S->next; (4)S->next=P->next; (5)S->next=L; (6)S->next=NULL; (7)Q=P; (8)while(P->next!=Q)P=P->next; (9)while(P->next!=NULL)P=P->next; (10)P=Q; (11)P=L; (12)L=S; (13)L=P;

    正确答案: a.(4)(1)
    b.(7)(11)(8)(4)(1)
    c.(5)(12)
    d.(9)(1)(6)
    解析: 暂无解析

  • 第23题:

    单选题
    已知一个带头结点单链表L,在表头元素前插入新结点 *s的语句为:()
    A

     L=s;s->next=L;

    B

     s->next=L->next;L->next=s;

    C

     s=L;s->next=L;

    D

     s->next=L; s=L;


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