本文概述
- 多遍编译器
- 一遍编译器
多遍编译器
- 多遍编译器用于多次处理程序的源代码。
- 在第一遍中, 编译器可以读取源程序, 对其进行扫描, 提取令牌并将结果存储在输出文件中。
- 在第二遍中, 编译器可以读取由第一遍生成的输出文件, 构建语法树并执行语法分析。此阶段的输出是一个包含语法树的文件。
- 在第三遍中, 编译器可以读取第二遍生成的输出文件, 并检查树是否符合语言规则。语义分析阶段的输出是带注释的树语法。
- 此过程一直进行到生成目标输出为止。
- 单遍编译器仅用于遍历程序一次。单遍编译器仅通过每个编译单元的各个部分一次。它将每个部分转换成最终的机器代码。
- 在单程编译器中, 处理线源后, 将对其进行扫描并提取令牌。
- 然后分析每行的语法并构建树结构。在语义部分之后, 将生成代码。
- 每行代码重复相同的过程, 直到整个程序被编译为止。