编译原理基本概念

一、判断题

×1.  NFA M的非确定性表现在它有多个终态。

2. 有穷自动机接受的语言是正则语言。

3. 若r1和r2是Σ上的正规式,则r1|r2也是。

×4. 设M是一个NFA,并且L(M)={x,y,z},则M的状态数至少为4个。

×. 令Σ={a,b},则Σ上所有以b为首的字符构成的正规集的正规式为b*(a|b)*。

6. 对任何一个NFA M,都存在一个DFA M',使得L(M')=L(M)。

7. 对一个右线性文法G,必存在一个左线性文法G',使得L(G)=L(G'),反之亦然。

8. 对任意一个右线性文法G,都存在一个NFA M,满足L(G)=L(M)。

9. 对任意一个右线性文法G,都存在一个DFA M,满足L(G)=L(M)。

10. 对任何正则表达式r,都存在一个NFA M,满足L(M)=L(r)。

11. 对任何正则表达式r,都存在一个DFA M,满足L(M)=L(r)。

×12. 一张转换图只包含有限个状态,其中有一个被认为是初态,最多只有一个终态。

×13. 一个正规式只能对应一个有限状态自动机;

14. 在词法分析的状态转换图中,有些结点是带星号的,这些结点肯定是终态结点。

×15. 适当设置扫描缓冲区的大小(比如容纳256个字符)可以保证单词符号不会被它的边界所打断。

二、 选择题

1. 程序语言下面的单词符号中,( B)一般不需要超前搜索。

A. 关键字     B. 标识符     C. 常数       D. 算符和界符

2. 在状态转换图的实现中,(B) 一般对应一个循环语句。

A. 不含回路的分叉结点       B. 含回路的状态结点

C. 终态结点                 D. 都不是

3. 从左线性文法构造有限自动机时,通常自动机状态个数比文法非终结符号数多( D)个。

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

4. 正规表达式(ε|a|b)2表示的集合是( D)。

A. {ε,ab,ba,aa,bb}       B. {ab,ba,aa,bb}

C. {a,b,ab,aa,ba,bb}     D. {ε,a,b,aa,bb,ab,ba}

5. 有限状态自动机可用五元组(VT,Q,δ,q0,Qf)来描述,设有一有限状态自动机M的定义如下:

 VT={0,1},Q={q0,q1,q2},Qf= {q2},δ的定义为:

δ(q0,0)=q1,δ(q1,0)=q2,δ(q2,1)=q2,δ(q2,0)=q2

M所能接受的语言可以用正则表达式表示为(B )。

A. (0|1)*      B. 00(0|1)*     C. (0|1)*00      D. 0(0|1)*0

6. 有限状态自动机可用五元组(VT,Q,δ,q0,Qf)来描述,设有一有限状态自动机M的定义如下:

VT={0,1},Q={q0,q1,q2},Qf={q2},δ的定义为:

δ(q0,0)=q1,δ(q1,0)=q2,δ(q2,1)=q2,δ(q2,0)=q2

M所能接受的语言为(D )。

A. 由0和1所组成的符号串的集合

B. 以0为头符号和尾符号、由0和1所组成的符号串的集合

C. 以两个0结束的,由0和1所组成的符号串的集合

D. 以两个0开始的,由0和1所组成的符号串的集合

7. 从接受语言的能力上来说,非确定型有穷自动机和(B )是等价的。

A. ⅰ.正规式;ⅱ.上下文无关文法;ⅲ.确定性有穷自动机;

B. ⅰ.左线性正规文法;ⅱ.右线性正规文法;ⅲ.确定性有穷自动机;

C. ⅰ.正规式;ⅱ.上下文无关文法;ⅲ.正规文法;

D. ⅰ.正规式;ⅱ.确定性有穷自动机;ⅲ.下推自动机;

8. 关于NFA的叙述中,下面(B )是不正确的。

A. 有一个有穷字母表              B. 有多个初始状态

C. 有多个终止状态                D. 有多个有限状态

9. 词法分析的理论基础是(A )。

A. 有穷自动机理论                B. 图灵机理论

C. 图论                          D. 无穷自动机理论

10. 设有两个状态S和T,如果从S出发能读出某个字w而停于终态,那么从T出发也能读出同样的字而停于终态;反之,果从T出发能读出某个字w而停于终态,那么从S出发也能读出同样的字而停于终态。则我们称状态S和状态T是(B )。

A. 可区分的;     B. 等价的;    C. 多余的;     D. 无用的。

11. 词法分析器的输出结果是(D )。

A、单词自身值                    B、单词在符号表中的位置

C、单词的种别编码                D、单词的种别编码和自身值

12. 编译过程中扫描器的任务包括( D)。

①组织源程序的输入

②按词法规则分割出单词,识别出其属性,并转换成属性字的形式输出

③删除注解

④删除空格及无用字符

⑤行计数、列计数

⑥发现并定位词法错误

⑦建立符号表

A. ②③④⑦                      B. ②③④⑥⑦

C. ①②③④⑥⑦                  D. ①②③④⑤⑥⑦

13.下述正则表达式中(D )与(a*+b)*(c+d)等价(即有相同符号串集)。(x+y亦可写作x|y)

①a*(c+d)+b(c+d)

②a*(c+d)*+b(c+d)*

③a*(c+d)+b(c+d)

④(a+b)*c+(a+b)*d

⑤(a*+b)*c+(a*+b)*d

A. ①③          B. ③④⑤        C. ③         D. ④⑤

14. 正则式的“*”读作(D )。

A. 并且       B. 或者       C. 连接         D. 闭包

15. 在状态转换图中,结点代表( C),用圆圈表示。

A. 输入缓冲区      B. 向前搜索      C. 状态        D. 字符串

16. 与(a|b)*(a|b)等价的正规式是(C )。

A. a*| b*        B. (ab)*(a|b)*   C. (a|b)(a|b)*     D. (a|b)*

17. 无符号常数的识别和拼数工作通常都在(A ) 阶段完成。

A. 词法分析    B. 语法分析     C. 语义分析       D. 代码生成

三、填空题

1. 词法分析器对扫描缓冲区进行扫描时一般用两个指示器,一个指向当前正在识别的单词符号的【开始位置】;另一个用于向前搜索以寻找单词符号的【终点】。

2. 一个确定性有限自动机DFA M的化简是指:寻找一个状态数比M少的DFA M’,使得【L(M)=L(M】。

3. 词法分析器所的输出常表示成如下形式的二元式:(【单词种别】,【单词符号的属性值)。

4. 一个状态转换图只包含有限个状态,其中有一个被认为是【初态】,而且实际上至少有一个【终态】。

5. 把状态转换图用程序实现时,对于含有回路的状态结点来说,可以让它对应一个由【while】和【if】语句构成的程序段。

6. 词法分析阶段的任务式从左到右扫描【源程序】,从而逐个识别【单词】。

7. 如果一个种别只含有一个单词符号,那么,对于这个单词符号,【种别编码】就可以完全代表它自身了。

8. 单词符号的属性值是指单词符号的特性或特征,其属性值则是反映特性或特征的值。比如,对于某个标识符,常将存放它的有关信息的【符号表项的指针】作为其属性值。

9. 单词符号的属性值是指单词符号的特性或特征,其属性值则是反映特性或特征的值。比如,对于常数,常将存放它的【常熟表项的指针】作为其属性值。

10. 如果一个种别含有多个单词符号,那么,对于它的每个单词符号,除了给出种别编码以外,还应给出有关单词符号的【属性信息】(【属性值】)。

11. 如果【两个正规式】所表示的正规集相同,则认为这两个正规式等价。

12. 对于Σ中的任何符号串α,如果存在一条从初态结点到某一终态结点的通路,且这条通路上【所有弧】的标记符号连接起来形成的【符号串】等于α,则称α被该自动机所接受(识别)。

13. 一个Lex源程序主要包括两部分,一部分是【正规定义式】,另一部分是【识别规则】。

14. 一个DFA可用一个矩阵表示,该矩阵的行表示【状态】,列表示【输入字符】,矩阵元素表示【转换函数】(或δ(s, a))的值,这个矩阵叫状态转换矩阵。

15. 对于词法分析程序来说,当程序到达“错误处理”时,意味着现行状态i和当前所面临的输入串不匹配。如果后面还有状态图,出现在这个地方的代码应该为:将【搜索器】回退一个位置,并令下一个【状态图】开始工作。

猜你喜欢

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