@ZHANGQIANYI2020
编译原理-医学信息工程专业
一、练习
1. 解释下列术语
编译程序,源程序,目标程序,编译程序的前端、后端和遍
解:
(1)编译程序:它把高级语言程序翻译成某个机器的汇编语言程序或二进制代码程序,这个二进制代码程序在机器上运行以生成结果。编译和运行的、是两个独立分开的阶段。
(2)源程序:源语言一般指的是编写源程序所用的语言,它必须翻译成机器语言才能在计算机中使用。
(3)目标程序:是源程序经编译可直接被计算机运行的机器码集合,在计算机文件上以.obj作扩展名。
(4)编译程序的前端、后端和遍:前端指的是主要依赖于源语言而与目标机无关,包括词法分析、语法分析、语义分析、中间代码生成这些阶段,以及相关的出错处理工作、符号表管理工作;后端指的是那些依赖于目标机而一般不依赖于源语言,只与中间代码有关的那些工作,包括目标代码生成,及其相关的出错处理工作、符号表管理工作;遍指的是一个编译过程可由一遍、两遍、或多遍完成。
2. 编译程序有哪些主要构成成分?各自的主要功能是什么?
解:编译程序的主要构成成分,及其主要功能:
(1)词法分析:从左到右一个字符一个字符地读入源程序,对构成源程序的字符流进行扫描和分解,从而识别出一个个单词(有时也称单词符号或符号)。
(2)语法分析:在词法分析的基础上将单词序列分