【编译原理

您所在的位置:网站首页 编译原理词法分析题 【编译原理

【编译原理

2024-07-01 23:29| 来源: 网络整理| 查看: 265

一、单项选择题 1.构造编译程序应掌握 (D ) 。

a. 源程序 b. 目标语言 c. 编译方法 d. 以上三项都是

2.编译程序绝大多数时间花在 (D) 上。

a. 出错处理 b. 词法分析 c. 目标代码生成 d. 表格管理

3.DFA M(见图1-1)接受的字集为(D ) 。 a. 以0开头的二进制数组成的集合 b. 以0结尾的二进制数组成的集合 c. 含奇数个0的二进制数组成的集合 d. 含偶数个0的二进制数组成的集合 4.编译程序是对 。D a. 汇编程序的翻译 b. 高级语言程序的解释执行 c. 机器语言的执行 ==d. 高级语言的翻译== 5.词法分析器的输出结果是 。C a. 单词的种别编码 b. 单词在符号表中的位置 c. 单词的种别编码和自身值 d. 单词自身值 6.正规式M1和M2等价是指 。C a. M1和M2的状态数相等 b. M1和M2的有向边条数相等 ==c. M1和M2所识别的语言集相等== d. M1和M2状态数和有向边条数相等 7.同正规式(a|b)+等价的正规式是B。

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

8.称有限自动机A1和A2等价是指 D。

A.A1和A2都是定义在一个字母表上的有限自动机 B.A1和A2状态数和有向边数相等 C.A1和A2状态数或有向边数相等 D.A1和A2所能识别的字符串集合相等

9.中间代码生成时所依据的是 C 。

A.词法规则 B.语法规则 C.语义规则 D.等价变换规则

10.将编译程序分成若干“遍”,是为了( B )。

A.提高程序的执行效率 B.使程序的结构更为清晰 C.利用有限的机器内存并提高机器的执行效率 D.利用有限的机器内存但降低了机器的执行效率

11. 下列符号串不可以由符号集S={a,b}上的正闭包运算产生的是:(A )

==A. ε == B. a C. aa D. ab

12.词法分析器的输出是:( C )

A.单词在符号表中的位置 B.单词的自身值 C.单词的自身值和单词的种类码 D.单词的种类码

13.在编译过程中,如果遇到错误应该( C )。

A. 把错误理解成局部的错误 B. 对错误在局部范围内进行纠正,继续向下分析 C. 当发现错误时,跳过错误所在的语法单位继续分析下去 D. 当发现错误时立即停止编译,待用户改正错误后再继续编译

14.词法分析器的加工对象是( C )

A.中间代码 B.单词 C.源程序 D.元程序

15.同正规式(a|b)*等价的正规式为( D )

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

16.如果一个正规式所代表的集合是无穷的,则它必含有的运算是 C。

A.连接运算“· ” B.或运算“|” C.闭包运算“* ” D.括号“(”和“)”

17.同正规式ab等价的文法是C。

A.G1:S→aS|bS|ε B.G2:S→aSb|ε C.G3:S→ aS|Sb|ε D.G4: S→ abS|ε

18.称正规式R1和R2 等价是指C。

A.R1和R2都是定义在同一个字母表上的正规式 B.R1和R2使用的运算符相同 C.R1和R2代表同一个正规集 D.R1和R2代表不同的正规集

二、填空题 概述部分:

1.编译程序的开发常常采用自编译、 交叉编译 、 自展 和移植等技术实现。 2.解释程序和编译程序的区别在于 是否生成目标程序 。 3.如果编译程序生成的目标程序是汇编语言程序,则源程序的执行分为3个阶段: 编译阶段 、 汇编阶段 和 运行阶段 。 4.编译程序工作过程中,第一阶段输入是 源程序 ,最后阶段的输出为 目标程序 。 5.编译过程通常可分为5个阶段 词法分析阶段 、 语法分析阶段 、 语义分析和中间代码生成阶段 、优化阶段和目标代码生成阶段。 6.如果编译阶段生成的目标程序是某特定计算机系统的机器代码程序,则源程序的执行分为两大阶段: 编译阶段 和 运行阶段 。 7.对编译程序而言,输入数据是 源程序 ,输出结果是 目标程序 。 8.贯穿于编译程始终的工作有 符号表处理 和出错处理。

词法分析部分:

1.词法分析的工作是将源程序中的 字符串 变换成 单词符号流 的过程,所遵循的是语言的 构词规则 。 2.若两个正规式所表示的 正规集 相同,则认为二者是等价的。 3.若两个正规式所表示的正规集相同,则认为二者是 等价 的。 4.正规式R1和R2等价是指_______表示相同的正规集 。 5.词法分析器的输入是源程序字符串,输出结构是 二元式(单词种别, 单词自身的值) 。词法分析所遵循的是语言的 构词 规则。 6.确定的有限自动机是一个五元组,包含的五个元分别是:状态集合、 字母表、初态、终态集、状态转换函数集合 。 7.有限自动机是更一般化的状态转换图,它分为 确定的有限自动机DFA 和 非确定的有限自动机NFA 两种。 8.NFA和DFA的区别主要有两点:其一是 NFA可以有若干个初始状态,而DFA仅有一个初始状态 ;其二是 NFA的状态转换函数f不是单值函数,而是一个多值函数 。

三、判断题

1.设r和s分别为正规式,则有L(r|s) = L® | L(s).。( × ) 2.自动机M和M’的状态个数不同,则二者必不等价。( × ) 3.用高级语言编写的源程序必须经过编译,产生目标程序后才能运行。( × ) 4.源程序到目标程序的变换是等价变换,即两者结构不同,但语义是一致的。( √ ) 5.对于任何一个正规式e,都存在一个DFA A,使得L(e)=L(A)。( √ ) 6.最小化的DFA,它的状态数最小。( √ ) 7.NFA的确定化算法具有消除ε边的功能。( √ ) 8.源程序和目标程序是等价关系。( √ ) 9.编译程序中错误处理的任务是对检查出的错误进行修改。( × ) 10.使用有限自动机可以实现单词的识别。( √ ) 11.一个非确定的有限自动机NFA可以通过多条路径识别同一个符号串。( √ ) 12.最小化的DFA所识别接受的正规集最小。( × ) 13.一个语言(如C语言)的句子是有穷的。( × )

四、多项选择题 编译器的各个阶段的工作都涉及到(AE ) A. 表格处理 B. 词法分析 C. 语法分析 D. 语义分析 E. 出错处理 令S={a,b},则S上的符号串的全体可用下面的正规式表示。(ABE ) A. (a|b)* B. (a*|b*)* C. (a|b)+ D. (ab)* E. (ab)* 一个编译器可能有的阶段为(ABCDE ) A. 词法分析 B. 语法分析 C. 语义分析 D. 中间代码生成 E. 目标代码生成 4 令S={a,b},则S上的所有以b开头,后跟若干个(可为0个)ab的符号串的全体可用下面的正规式表示。(AB ) A.b (ab)* B. (ba)b C. b(a|b)+ D. (ba)+b E. b (a|b) 5.下列符号串是符号集S={a,b}上的正规式的有:( ABCDE) A. ε B. a C. ab D. (ab|a) (ab|a) E. ab|ab 6.正规式服从的代数规律有:(ABDE ) A. “或”运算服从交换律 B. “或”运算服从结合律 C. “连接”运算服从交换律 D. “连接”运算服从结合律 E. “连接”运算可对“或”运算进行分配 7. 令S={a,b},则S上的所有以b开头,后跟若干个(可为0个)ab的符号串的全体可用下面的正规式表示。(AB ) A.b (ab)* B. (ba)b C. b(a|b)+ D. (ba)+b E. b (a|b)


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3