● 对给定文法G=(VN,VT, P,S),VT={a,Λ,(,)},VN={S,T},S是开始符号,P:S→a|Λ|(T)T→T,S|S则(1)不是它的句子。该文法是(2)型文法。(1)A. (a,(a,a)) B. (((a,a), Λ,(a)),a) C. ((a,a), Λ) D. ((a,a),(T))(2)A.0型文法 B.1型文法 C.2型文法 D.正规文法

题目

● 对给定文法G=(VN,VT, P,S),VT={a,Λ,(,)},VN={S,T},S是开始符号,

P:

S→a|Λ|(T)

T→T,S|S

则(1)不是它的句子。该文法是(2)型文法。

(1)A. (a,(a,a)) B. (((a,a), Λ,(a)),a) C. ((a,a), Λ) D. ((a,a),(T))

(2)A.0型文法 B.1型文法 C.2型文法 D.正规文法


相似考题
参考答案和解析
正确答案:D,C
根据句子的定义,若从文法G的开始符号S能推导出的符号串成为文法的一个句型,仅含终结符的句型成为一个句子。很显然,备选答案D中含有非非终结符T,所以它不是文法的句子。
该文法是递归可枚举的,所以文法是0型文法,又文法所有产生式的右边长度大于或等于产生式左边长度,所以文法是1型文法,由于该文法的每个产生式的左边均是非终结符,所以该文法是2型文法;由于文法的两个产生式即不是右线性,也不是左线性,所以该文法不是正规型文法。
更多“● 对给定文法G=(VN,VT, P,S),VT={a,Λ,(,)},VN={S,T},S是开始符号, P: S→a|Λ|(T) T→T,S|S则(1)不 ”相关问题
  • 第1题:

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

    S→a|b|(T)

    T→TdS|S

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

    考察该文法,称句型(Sd(T)db)是S的一个(48)。其中(49)是句柄:(50)是素短语;(51)是该句型的直接短语;(52)是短语。

    A.最左推导

    B.最右推导

    C.规范推导

    D.推导


    正确答案:D

  • 第2题:

    设语言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的个数相等}

  • 第3题:

    己知文法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))的句柄。

  • 第4题:

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

    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

  • 第5题:

    已知文法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.


    正确答案:C
    解析:设文法G=(VT,VN,S,P),A→β∈P,γ,δ∈V*,则称γAδ直接推导出γβδ,表示成:γAδγβδ也称γβδ直接归约到γAδ。对于以上公式,若γ∈VT*,即A是γAδ中最左边的非终结符号,则称以上公式是一个最左推导。若Sa的每一步都是最左推导,则称Sa是一个最左推导,a称为一个左句型。对于以上公式,若δ∈VT*,即A是γAδ中最右边的非终结符号,则称以上公式是一个最右推导。若Sa的每一步都是最右推导,则称Sa是一个最右推导,a称为一个右句型。最右推导也称作规范推导,右句型也称作规范句型。对于句子(a,(a,a)),被选择答案中A是最右推导,C是最左推导,B和D的推导序列中,既有最左推导,又有最右推导。