编译原理课后答案

一、判断题

1.一棵语法树表示了一个句型所有的不同推导过程,包括最右推导和最左推导。

2. 可能有两个不同的文法G1和G2,期中一个是二义的而另一个是无二义的,但是却有L(G1)=L(G2)。

3. 变量既持有左值又持有右值,而常数和带有算符的表达式一般认为只持有右值。

4. 文法G: S→bA ,A→aA|a  定义的语言是所有以b开头的后跟至少一个a的字符串的集合。

5. 设有文法G:S→S*S | S+S | (S) | a  该文法是二义的。

6. 正则文法一定不是二义的。

7. 上下文无关文法可以产生语言:L={ anbnci| i>=1, n>=1 }。

8. 不存在任何正规文法能产生语言:L={anbn| n>=1}。

9. 对于每一个左线性文法G1,都存在一个右线性文法G2,使得L(G1)=L(G2)。

10.正规文法产生的语言都可以用上下文无关文法来描述。

扫描二维码关注公众号,回复: 16584430 查看本文章

11.上下文无关文法比正规文法有更强的描述能力。

12.文法的二义性和语言的二义性在概念上是相同的,也就是说,对于某个语言,不可能存在两个以上的文法来描述它。

13.二义性是可以判定的,也就是说,可以编这么一个程序,输入该文法后,该程序能确切地给出该文法是否二义的答案。

14.说明语句旨在定义名字的性质。编译程序把这些性质登记在符号表中,并检查程序中名字的引用和说明是否一致。实际上,许多说明语句并不能翻译成相应的目标代码。

15.C语言是一个允许子程序嵌套定义的语言。

二、 选择题

1. Chomsky把文法分成四种类型,0型、1型、2型和3型。3型文法也称为(  ),2型文法也称为(  )。

A. 上下文无关文法   B. 上下文相关文法    C. 正则文法     D. 短语文法

2. 许多广为使用的语言,如Fortran、C、Pascal等,属于(  )。

A. 强制式语言      B. 应用式语言     C. 基于规则的语言   D. 面向对象的语言

3. 设G是一个文法,S是开始符号。若S⇒*α,α∈(VT∪VN)*,则称α是一个(  )。

A. 句子            B. 句型           C. 推导             D. 语言

4. 一个数据类型通常包括的三种要素中,没有下面的(  )。

A. 用于区别这种类型的数据对象的属性

B. 这种类型的数据对象可以具有的值

C. 对这种类型的数据对象的内存分配

D. 可以作用于这种类型的数据对象的操作

5. Chomsky把文法分成四种类型,其中,(  )也称正规文法

A. 0型            B. 1型          C. 2型            D. 3型

6. 语言的词法规则一般用Chomsky的(  )型文法来描述:

A. 0              B. 1             C. 2           D. 3

7. 文法G[S]: S→(L)|a    L→L,S|S   中,下面是该文法中的终结符号。

A. S              B. ,            C. L           D. |

8. 文法G所描述的语言是(  )的集合。

A. 文法G的字母表中的所有符号组成的符号串

B. 文法G的字母表的闭包*中的所有符号串

C. 文法G的识别符号推出的所有符号串

D. 文法G的识别符号推出的所有终结符号串

9. 语言L={αcα| α∈(a|b)*},该语言是(  )语言。

A. 3型语言    B. 2型语言      C. 1型语言        D. 0型语言

10.设有文法G[L]:   L→L1 | L0 |La | Lc | a | b | c |

下面符号串中不是该文法的句子是:

A. ab0         B. a0c01         C. aaa            D. bc10

11.给定文法G[A]: A→bA|cc,下面的符号串中,是该文法句子的是(  )。

A. bcbc          B. bbbcc        C. bcbcc         D. bccbcc

12.Chomsky定义的四种形式语言文法中,2型文法可由(  )识别。

A. 图灵机;             B. 确定性有限自动机;

C. 下推自动机;         D. 非确定性有限自动机;

13.若文法G定义的语言是无限集,则文法必然是(  )。

A. 上下文无关的     B. 递归的          C. 二义性的        D. 无二义性的

14.文法G[S]:  S→aaS|abc 定义的语言是(  )。

A. {a2kbc|k>0}       B. {akbc|k>0}<br>     C. {a2k-1bc|k>0}      D. {akakbc|k>0}

15.文法:G[S]:S→xSx | y所识别的语言是(  )。

A.  xyx            B. (xyx)*            C. x*yx*            D. xnyxn(n≥0)

三、填空题

1. 假设G是一个文法,α是由终结符和非终结符组成的串,S是文法的开始符号,如果S=>*α,则称α是【句型】。

2. 在赋值语句中,赋值号‘:=’左右两边的变量名扮演着两种不同的角色,为了区分一个名字的这两种特征,我们把一个名字所代表的【单元的地址】称为该名的左值,把一个名字的【】称为该名字的右值。

3. 对于文法G,仅含终结符号的句型称为【句子】。

4. 设有文法G[E],其部分产生式:   

E→E+T   E→T   T→T*F   T→F    F→(E)   F→a   则VN={E,T,F},VT={ +,*,(,),a}。

5. 由文法产生的【句子】集合是文法产生的语言。

6.  Chomsky语法定义的3型文法又可以分为【右线性文法】和【左线性文法】。

7. 一个上下文文法G的四个组成部分分别是:开始符号,【产生式集合】,【终结符集合】,非终结符集合。

8. 已知语言:{anbnambm|n,m≥0},其语法定义为:

G=({a,b},{S,A,B},S,P),其中P为:【S->AB】;【A->aAb|ε】;【B->aBb|ε】。

9. 已知某语言的语法定义为: G=({1,0},{S,A},S,P),

且P:S→1A0|A|ε;A→0A1| ε,则该语言为【an|n>=0】。

10.已知某语言为 {wcwR|w∈{a,b}*},其语法定义为G=({a,b,c},{S},S,P),其中P为:{ S->aSa|bSb|ε}。

11.所谓最右推导是指任何一步α→β都是对α中的【任何一步α→β都是对α中的最右非终结符进行1替换】进行替换。

12.文法G[S]:S→aA|a,A→aS为【3】型文法,其确定的语言的为:【a2n+1|n>=0】。

13.我们说G=(VT,VN,S,P)是一个0型文法,如果它的每一个产生式α→β是这样一种结构:α∈【(VT U VN)*】且至少含有一个非终结符,而β∈【(VT U VN)*】。

14.如果一个文法存在某个句子对应两棵以上不同的语法树,则称这个文法是是【二义性文法】。

15.设A→α是一个产生式,且α、β∈(VT∪VN)*,若αAβ=>αγβ,则称αAβ直接推出αγβ;或者说,αγβ是αAβ的一个【直接推导】。

如果α1=>α2=>…=>αn,则称这个序列是从α1到αn的一个【句型】。

猜你喜欢

转载自blog.csdn.net/m0_70711364/article/details/131747111