编译原理国防科技大学第一单元测试
1.名字是用标识符表示的,但名字和标识符有着本质的区别。
对
2.一个上下文无关文法的开始符号可以是终结符或非终结符。
错
上下文无关文法的开始符号只能是非终结符。
3.对于文法,句子是仅含终结符号的句型。
对
4.一棵语法树是不同推导过程的共性抽象。
对
一棵语法树可以对应不同的推导过程。
5.一个文法是二义的,则这个文法的每个句子都对应两个不同的语法树。
错
对于一个文法来说,只要有一个句子对应不同的语法树,即为二义文法。
6.对于二义文法G来说,其生成的语言L(G)必定是二义的。
错
二义文法生成的语言L(G)不一定是二义的。因为对于一个语言来说, 可以由多个文法生成,只要有一个生成该语言的文法不是二义的,该语言就不是二义的。
7.上下文无关文法的描述能力和有限自动机相同。
错
上下文无关文法是chomsky2型文法,表达能力等价于下推自动机,描述能力比有限自动机强。与有限自动机等价的是正规文法。
8.状态转换图可用于识别一定的字符串。
对
9.对任何正规表达式e,都存在一个DFA M,满足L(M)=L(e)。
对
正规表达式、NFA和DFA都是等价的。
10.词法分析器的任务是输入源程序,给出单词符号,一般包括单词的种别编码和自身的值。
对
11.下面哪些选项不是编译程序的组成部分。
设备管理程序
设备管理程序是操作系统的组成部分,不是编译程序的组成部分。其他三个选项都是编译程序的功能模块。
12.关于NFA定义,下列说法不正确的是:
终止状态集合不能为空。
NFA(非确定有限自动机)终止状态集合可以为空。
13.假定C语言正在被编译,决定下述串中不需要看下一个输入字符就能确定是单词符号及其种别的是
大于等于
根据C的词法规则,其余三个候选都需要看后面的符号,如果后面的符号是字母或者数字,都可能构成更长的单词。只有第一个候选>=不需要看后面字符就能确定这是一个关系运算符。
14.与正规式0(0|10)1相对应的DFA是
DFA与NFA的区别
NFA可以有多个初态
弧上的标记可以sigma中的一个字(甚至可以是一个正规式),而不一定是单个字符
同一个字可能出现在同状态射出的多条弧上
18.能够产生语言的文法是
注意选项A产生的语言的m>0,选项D产生的语言的n>=0,均不满足题目要求。写文法要注意细节。
**19.**下面的文法中,哪些是二义的
这四个文法都是二义的。选项A,考虑句子()()();
选项B,考虑句型iiSeS;
选项C,考虑句型SaSaS;
选项D,考虑句子i+i+i。
这些句子或句型在对应的文法下,都有两棵不同的语法树。
20.文法G(S):
S → aSQR | abR
RQ → QR
bQ → bb
bR → bc
cR → cc
是Chomsky哪一型文法?
0和1型
2型和3型文法要求产生式左边只能是一个非终结符。注意1型文法也是0型文法。