精选优质文档-倾情为你奉上1. 编译的各个阶段扫描程序(scanner)在这个阶段编译器实际阅读源程序(通常以字符流的形式表示)。扫描程序执行词法分析(Lexical analysis):它将字符序列收集到称作记号(t o k e n)的有意义单元中,记号同自然语言,如英语中的字词相似。语法分析程序(parser)语法分析程序从扫描程序中获取记号形式的源代码,并完成定义程序结构的语法分析(syntax analysis),这与自然语言中句子的语法分析类似。语法分析定义了程序的结构元素及其关系。通常将语法分析的结果表示为分析树( parse tree)或语法树(syntax tree)。语义分析程序(semantic analyzer)分析程序的静态语义,包括包括声明和类型检查。源代码优化程序(source code optimizer),代码生成器(code generator),目标代码优化程序(target code optimizer)。2. 编译器的前端(front end),后端(back end),遍(passes