考试题型:填空24%+简答 4*4=16%+解答 4*15=6 Chapter 1重要概念1
什么编译程序
P3 答:编译程序的主要功能是把用高级语言编写的源程序翻译为等价的目标程序
编译程序的工作过程
(6 个阶段) P4 1、词法分析程序 2 、语法分析程序 3 、语义分析程序 4 、中间代码生成5、代码优化程序 6 、目标代码生成(不做优化是4 个阶段, 5、6 不要)3
编译程序的逻辑结构
P4 图 1-2 编译程序的逻辑结构4
执行高级语言编写的程序:(编译执行、解释执行)1)按编译方式在计算机上执行用高级语言编写的程序,一般须经过两个阶段
第一个阶段称为编译阶段, 其任务是由编译程序将源程序编译为目标程序,若目标程序不是机器代码,而是汇编语言程序,则尚需汇编程序再行汇编为机器代码程序;第二阶段称为运行阶段,其任务是在目标计算机上执行编译阶段所得到的目标程序
2)用高级语言编写的程序也可以通过解释程序来执行
解释程序也以源程序作为它的输入,它与编译程序的主要区别是在解释程序的执行过程中不产生目标程序,而是解释执行源程序本身
缺点:这种边翻译边执行的方式工作效率很低,但由于解释程序的结构比编译程序简单,且占用内存较少,在执行过程中也易于在源程序一级对程序进行修改,因此一些规模较小的语言,如BASIC,也常采用此种方式
P11 第一段编译程序的各部分之间的关系,是指他们之间的逻辑关系,而不一定是执行时间上的先后顺序,事实上,可按不同的执行流程来组织上述各部分的工作,这在很大程度上依赖与编译过程中对源程序扫描的遍数,以及如何划分各遍扫描所进行的工作
此处所说的“遍”,是指对源程序或其内部表示从头到尾扫视一次,并进行有关的加工处理工作
(执行过程: 单遍扫描、多遍扫描(大多数))Chapter 2 前后文无关文法和语言1
文法和语言的形式定义产生语言就是