个性化阅读
专注于IT技术分析

编译阶段

编译过程包含各个阶段的顺序。每个阶段以一种表示形式获取源程序, 并以另一种表示形式产生输出。每个阶段都从其上一阶段获取输入。

编译器分为多个阶段:

编译阶段

图:编译阶段

词法分析:

词法分析器阶段是编译过程的第一阶段。它以源代码作为输入。它一次读取源程序一个字符, 并将其转换为有意义的词素。词法分析器以记号的形式表示这些词素。

语法分析

语法分析是编译过程的第二阶段。它以令牌作为输入, 并生成解析树作为输出。在语法分析阶段, 解析器检查令牌生成的表达式在语法上是否正确。

语义分析

语义分析是编译过程的第三阶段。它检查语法分析树是否遵循语言规则。语义分析器跟踪标识符, 标识符的类型和表达式。语义分析阶段的输出是带注释的树语法。

中间代码生成

在中间代码生成中, 编译器将源代码生成为中间代码。在高级语言和机器语言之间生成中间代码。中间代码的生成方式应使你可以轻松地将其转换为目标机器代码。

代码优化

代码优化是一个可选阶段。它用于改进中间代码, 以便程序的输出可以运行得更快并且占用更少的空间。它删除了不必要的代码行, 并排列了语句序列, 以加快程序执行速度。

代码生成

代码生成是编译过程的最后阶段。它以优化的中间代码作为输入, 并将其映射到目标机器语言。代码生成器将中间代码转换为指定计算机的机器代码。

例:

编译阶段1
赞(0)
未经允许不得转载:srcmini » 编译阶段

评论 抢沙发

评论前必须登录!