第一章 习题答案
1.1 编译程序有哪些主要构成成分?各自的主要功能是什么?
答:编译程序的主要构成成分有:词法分析程序、语法分析程序、
语义分析程序、中间代码生成程序、代码优化程序、目标代码生成程
序、表格管理程序及出错处理程序。
(1) 词法分析程序:从左到右扫描源程序,识别单词及其有关属性;
(2) 语法分析程序:分析源程序的结构,判别它是否为相应程序设
计语言中的一个合法程序;
(3) 语义分析程序:审查源程序有无语义错误,为代码生成阶段收
集类型信息;
(4) 中间代码生成程序:将源代码变成一种内部表示形式;
(5) 代码优化程序:对前阶段产生的中间代码进行变换或进行改造,
使生成的目标代码更为高效;
(6) 目标代码生成程序:把中间代码变换成特定机器上的绝对指令
代码或可重定位的指令代码或汇编指令代码;
(7) 表格管理程序:保存编译过程中的各种信息;
(8) 出错处理程序:若编译过程中发现源程序存在错误,则报告错
误的性质和错误发生的地点,有些还可以自动校正错误。
1.2. 什么是解释程序?它与编译程序的主要不同是什么?
答:解释程序接受某个语言的程序并立即运行这个源程序。它的工作
模式是一个个的获取、分析并执行源程序语句,一旦第一个语句分析
评论0