本文参考了自《编译原理》(龙书)
词法分析
- 将字符序列转换为单词序列(token)的过程。
语法分析
- 使用由词法分析器生成的各个词法单元的第一个分量来创建树形的中间表示。
语义分析
- 使用语法树和符号表中的信息来检查源程序是否和语言定义的语义一样。
- 收集类型信息,把这些信息存放在语法树或符号表中。
- 类型检查
- 自动类型转换
中间代码生成
- 源程序的语法分析和语义分析完成之后,很多编译器生成一个明确的低级的或类机器语言的中间表示。
代码优化
- 机器无关的代码优化步骤试图改进中间代码,以便生成更好的目标代码。
- 以源程序的中间表示形式作为输入,并把它映射到目标语言。