一、判断题
√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的一个【句型】。