编译程序的概念:编译器就是一个程序,它读入用某种语言编写的源程序,并翻译成一个与之等价的另一种语言编写的源程序 源程序——>编译器——>目标程序 编译过程概述:词法分析、语法分析、语义分析及中间代码生成、代码优化、目标代码生成 编译器的基本功能:记录源程序中使用的标识符、收集与每个标识符相关的各种属性信息,并将它们记载到符号表中 符号表的作用:存放字符串或词素,当一个字符串或词素被保存时,与之相对应的记号也被保存 编译各阶段的分组 前端和后端 前端包括词法分析、词法分析、语义分析,以及相关的错误处理和符号表的建立。 前端依赖于源程序并在很大程度上独立于目标机器。 后端主要包括代码优化、代码生成和相关错误处理。后端依赖于目标机器 错误检测与报告:在编译的各个阶段都会发现源程序中的错误,为了使编译器能继续运行,以检测出源程序中更多的错误,在检测到错误后,必须以合适的方式进行错误处理。