编译原理考试试题及答案.doc
编译原理考试试题及答案
一、单项选择题(每题2分,共10题)
1.编译程序的功能是()
A.将高级语言程序转换为目标程序
B.将汇编语言程序转换为目标程序
C.对源程序边扫描边翻译执行
D.对目标程序装配连接
答案:A
2.词法分析器的输出结果是()
A.单词的种别编码
B.单词在符号表中的位置
C.单词的种别编码和自身值
D.单词自身值
答案:C
3.正规式M1和M2等价是指()
A.M1和M2的状态数相等
B.M1和M2所识别的语言集相等
C.M1和M2的有向弧条数相等
D.M1和M2的节点数相等
答案:B
4.语法分析器的输入是()
A.单词符号串
B.源程序
C.目标程序
D.符号表
答案:A
5.自下而上语法分析的关键问题是()
A.寻找句柄
B.寻找候选式
C.消除左递归
D.消除回溯
答案:A
6.算符优先分析法是一种()分析法。
A.自顶向下
B.自底向上
C.自左向右
D.自右向左
答案:B
7.一个上下文无关文法G包括四个组成部分,它们是:一组非终结符,一组终结符,一个开始符号,以及一组()
A.句子
B.句型
C.产生式
D.单词
答案:C
8.若一个文法是递归的,则它所产生的语言的句子()
A.是无穷多个
B.是有穷多个
C.是可枚举的
D.个数是常量
答案:A
9.在编译过程中,符号表的主要作用是()
A.辅助语法分析
B.辅助语义分析
C.辅助代码生成
D.以上都是
答案:D
10.代码优化的目的是()
A.节省时间
B.节省空间
C.节省时间和空间
D.把编译程序进行等价变换
答案:C
二、多项选择题(每题2分,共10题)
1.编译程序的前端主要由()等部分组成。
A.词法分析
B.语法分析
C.语义分析
D.中间代码生成
答案:ABCD
2.以下属于正规式运算的是()
A.连接
B.或
C.闭包
D.交集
答案:ABC
3.下面关于语法树的描述正确的是()
A.语法树的根节点是开始符号
B.语法树的叶节点是终结符
C.语法树反映了句子的结构
D.一棵语法树对应一个推导过程
答案:ABCD
4.消除文法左递归的方法有()
A.代入法
B.改造法
C.消除直接左递归
D.消除间接左递归
答案:CD
5.自顶向下语法分析方法主要有()
A.递归下降分析法
B.预测分析法
C.算符优先分析法
D.LR分析法
答案:AB
6.中间代码的形式可以是()
A.逆波兰式
B.四元式
C.三元式
D.树形表示
答案:ABCD
7.符号表中的信息栏通常包含()等内容。
A.类型
B.地址
C.值域
D.名字
答案:ABC
8.编译过程中进行的代码优化可以在()阶段进行。
A.词法分析
B.语法分析
C.中间代码生成后
D.目标代码生成前
答案:CD
9.下面关于编译程序和解释程序的描述正确的是()
A.编译程序产生目标程序
B.解释程序不产生目标程序
C.编译程序执行速度快
D.解释程序便于程序调试
答案:ABCD
10.编译程序的构造工具主要有()
A.词法分析器生成器
B.语法分析器生成器
C.语义分析器生成器
D.代码生成器生成器
答案:AB
三、判断题(每题2分,共10题)
1.编译程序是一种翻译程序。()
答案:对
2.正规式只能表示给定结构的固定次数的重复。()
答案:错
3.语法分析的任务是分析单词是怎样构成语句的。()
答案:对
4.自顶向下语法分析方法在分析过程中一定不会回溯。()
答案:错
5.算符优先分析法是一种规范归约分析法。()
答案:错
6.一个上下文无关文法一定存在一个等价的正规文法。()
答案:错
7.符号表的构造和管理只在编译的前端需要。()
答案:错
8.中间代码对目标机器和运行环境有很强的依赖性。()
答案:错
9.代码优化可以提高目标程序的质量。()
答案:对
10.编译程序和解释程序都需要进行词法分析。()
答案:对
四、简答题(每题5分,共4题)
1.简述编译程序的工作过程。
答案:编译程序的工作过程一般分为词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成等阶段。词法分析将源程序的字符流转换为单词序列;语法分析构建单词序列的语法结构;语义分析检查语义合法性并收集语义信息;中间代码生成得到中间表示形式;代码优化对中间代码优化;目标代码生成得到目标机器的代码。
2.什么是正规式?
答案:正规式是一种表示正规集的工具。