当前位置:首页 > 编译原理第一章作业完整答案版
01-普通作业一(第一章)
一、选择题(从备选项中选出一个或多个正确答案)。
1. 编译程序的源程序是高级语言编写的程序,目标程序是 编写的程序。 A. 高级语言 B. 汇编语言 C. 机器语言D. 汇编语言或机器语言 2. 编译程序是对 进行翻译。
A. 高级语言 B. 汇编语言 C. 机器语言 D. 自然语言 3. 如果编译程序生成的目标程序是机器代码程序,则源程序的执行分为 两个阶段。 A. 编译 B. 汇编 C. 运行D. 预处理
4. 编译的工作过程一般划分为词法分析、 、语义分析、中间代码生成、代码优化和目标代码生成若干阶段。
A. 表格管理 B. 出错处理 C. 语法分析 D. 预处理 5. 词法分析阶段的主要任务是识别 。 A. 表达式 B. 单词 C. 语句 D. 词组
二、判断题(对于下列陈述中正确的说法选择回答“对”,否则选择回答“错”)。 1. 编译程序是一种常见的应用软件。 2. C语言的编译程序可以用C语言编写。
3. 编译方式与解释方式的区别之一在于是否生成目标程序。 4. 中间代码生成是编译程序不可或缺的部分。 5. 含有优化的编译程序执行效率高。
三、解释下列术语: (1)编译程序 (2)源程序 (3)目标程序
(4)编译程序的前端 (5)后端 (6)遍
四、 一个典型的编译程序通常由哪些部分组成?各部分的主要功能是什么? 并画出编译程序的总体结构图。
五、何谓翻译程序、编译程序和解释程序?它们三者之间有何种关系?
参考答案:
一、选择题
1. D 2. A 3. AC 4. C 5. B 二、判断题
1.错 2.对 3.对 4.错 5.错 三、
(1)把用高级程序设计语言书写的源程序,翻译成等价的计算机汇编语言或机器语言书写的目标程序的翻译程序。
(2)源程序,是指未经编译的,按照一定的程序设计语言规范书写的,人类可读的文本文件。 (3)为源程序经编译可直接被计算机运行的机器码集合,在计算机文件上以.obj作扩展名。 (4)编译程序的前端通常指:词法分析、语法分析、语义分析等生成最终代码以前的一系列步骤。
(5)后端包含代码优化和目标代码生成部分。
(6)对源程序或其等价的中间语言程序从头到尾扫视并完成规定任务的过程。
四、数据结构、分析部分、综合部分、结构。
五、 翻译程序是指将用某种语言编写的程序转换成另一种语言形式的程序的程序,如编译程序和汇编程序等。
编译程序是把用高级语言编写的源程序转换(加工)成与之等价的另一种用低级语言编 写的目标程序的翻译程序。
解释程序是解释、执行高级语言源程序的程序。解释方式一般分为两种:一种方式是,源程序功能的实现完全由解释程序承担和完成,即每读出源程序的一条语句的第一个单词, 则依据这个单词把控制转移到实现这条语句功能的程序部分,该部分负责完成这条语句的功能的实现,完成后返回到解释程序的总控部分再读人下一条语句继续进行解释、执行,如此反复;另一种方式是,一边翻译一边执行,即每读出源程序的一条语句,解释程序就将其翻译成一段机器指令并执行之,然后再读人下一条语句继续进行解释、执行,如此反复。无论是哪种方式,其加工结果都是源程序的执行结果。目前很多解释程序采取上述两种方式的综合实现方案,即先把源程序翻译成较容易解释执行的某种中间代码程序,然后集中解释执行中间代码程序,最后得到运行结果。
广义上讲,编译程序和解释程序都属于翻译程序,但它们的翻译方式不同,解释程序是边翻译(解释)边执行,不产生目标代码,输出源程序的运行结果。而编译程序只负责把源程序翻译成目标程序,输出与源程序等价的目标程序,而目标程序的执行任务由操作系统来 完成,即只翻译不执行。
共分享92篇相关文档