华中科技大学武昌分校 专业班级:_________学号:_________姓名:__________总分 一、单项选择题(共 10 小题,每小题 2 分) (题分 20 分) 1.语言是 A.句子的集合 B.产生式的集合 C.符号串的集合 D.句型的集合 2.编译程序前三个阶段完成的工作是 A.词法分析、语法分析和代码优化 B.代码生成、代码优化和词法分析 C.词法分析、语法分析、语义分析和中间代码生成 D.词法分析、语法分析和代码优化 3.一个句型中称为句柄的是该句型的最左 A.非终结符号 B.短语 C.句子 D.直接短语 4.下推自动机识别的语言是 A.0 型语言 B.1 型语言 C.2 型语言 D.3 型语言 5.扫描器所完成的任务是从字符串形式的源程序中识别出一个个具有独立含义的最小语法单位即 A. 字符 B.单词 C.句子 D.句型 6.对应 Chomsky 四种文法的四种语言之间的关系是 A.L0L1L2L3 B.L3L2L1L0 C.L3=L2L1L0 D.L0L1L2=L3 7.词法分析的任务是 A.识别单词 B.分析句子的含义 C.识别句子 D.生成目标代码 8.常用的中间代码形式不含 A.三元式 B.四元式 C.逆波兰式 D.语法树 9. 代码优化的目的是 A.节省时间 B.节省空间 C.节省时间和空间 D.把编译程序进行等价交换 装 订 线 得分 10.代码生成阶段的主要任务是 A.把高级语言翻译成汇编语言 B.把高级语言翻译成机器语言 C.把中间代码变换成依赖具体机器的目标代码 D.把汇编语言翻译成机器语言 二、填空题(本大题共5 小题,每小题2 分)(题分 10 分) 1.编译程序首先要识别出源程序中每个( ),然后再分析每个( )并翻译其意义。 2.编译器常用的语法分析方法有( )和( )两种。 3.通常把编译过程分为分析前端与综合后端两大阶段。词法、语法和语义分析是对源程序的( ),中间代码生成、代码优化与目标代码的生成则是对源程序的( )。 4.程序设计语言的发展带来了日渐多变的运行时存储管理方案,主要分为两大类,即:( )方案和( )方案。 5.对编译程序而言,输入数据是( ),输出结果是( )。 三、名词解释题(共5 小题,每小题4 分) (题分 20 分) 1.词法分析 2.LL(1)文法 3.语法树 4.LR(0)分析器 5.语言和文法 四、简答题(共4 小题,每小题5 分) (题分 20 分) 1.编译程序和高级语言有什么区别? 2.编译程序的工作分为那几个阶段? 3.简述自下而上的分析方...