编译过程一般分为6步: 扫描(词法分析)、语法分析、语义分析、源代码优化、代码生成和目标代码优化,每个过程所做的事情及输出总结如下:
步骤 | 做的事情或输出 |
扫描(词法分析) | 将源代码的字符序列分割成一系列记号 |
语法分析 | 对记号进行语法分析,产生语法树 |
语义分析 | 编译期间用的是静态语义分析,对语法树的表达式标记类型 |
源代码优化 | 将一些可以确定的东西先确定下来,生成中间语言 |
代码生成和目标代码优化 | 代码生成器将中间代码转成目标机器代码,因为目标机器 有不同的字长、寄存器、整数数据类型等。 |
编译过程一般分为6步: 扫描(词法分析)、语法分析、语义分析、源代码优化、代码生成和目标代码优化,每个过程所做的事情及输出总结如下:
步骤 | 做的事情或输出 |
扫描(词法分析) | 将源代码的字符序列分割成一系列记号 |
语法分析 | 对记号进行语法分析,产生语法树 |
语义分析 | 编译期间用的是静态语义分析,对语法树的表达式标记类型 |
源代码优化 | 将一些可以确定的东西先确定下来,生成中间语言 |
代码生成和目标代码优化 | 代码生成器将中间代码转成目标机器代码,因为目标机器 有不同的字长、寄存器、整数数据类型等。 |