1、,教材: 编译原理Aho等著,机械工业出版社 编译原理张素琴等编著,清华大学出版社,第1章 什么是编译程序 1 编译器,什么是编译器?,高级语言程序的处理过程,需预处理的源程序,预处理器,1,编译器,2,汇编器,3,可重定位机器码,4,装配/连接-编辑器,5,机器代码,编译器的结构框图,1, 2, 3 : 分析阶段 4, 5, 6 : 综合阶段,编译过程,出错 处理,position := initial + rate * 60,id1 := id2 + id3 * 60,符号表,position initial . rate.,编译过程,出错 处理,temp1 := inttoreal(60
2、) temp2 := id3 * temp1 temp3 := id2 + temp2 id1 := temp3,temp1 := id3 * 60.0 id1 := id2 + temp1,MOVF id3, R2 MULF #60.0, R2 MOVF id2, R1 ADDF R1, R2 MOVF R1, id1,position initial . rate.,符号表,3 address code,编译阶段的组合,前端 : 词法/语法/语义分析+中间代码生成+部分优化,后端 : 部分优化+目标代码生成,vs.,什么是“遍”? 编译器分成几遍? 编译的几个阶段的工作应该怎样组合?,本章术语,编译程序,源程序,目标程序, 分析阶段,词法分析,语法分析,语义分析, 综合阶段,中间代码生成,代码优化,代码生成 编译程序的阶段,符号表管理,出错处理, 预处理程序,汇编程序,两遍汇编,装入和连接-编辑程序, 编译的前端和后端,编译的遍, 编译程序的构造工具,本章要点,什么是编译器? 编译分为哪些阶段,每个阶段完成什么功能? 编译器的分析-综合模型是如何划分编译过程的? 编译器的前端、后端指什么,包含哪些部分? 编译的分析有几种形式,他们的区别是什么?,