📜  编译器遍历源程序

📅  最后修改于: 2020-12-06 06:26:45             🧑  作者: Mango

编译器通行证

通过是源程序的完整遍历。编译器有两遍遍历源程序。

多遍编译器

  • 多遍编译器用于多次处理程序的源代码。
  • 在第一遍中,编译器可以读取源程序,对其进行扫描,提取令牌并将结果存储在输出文件中。
  • 在第二遍中,编译器可以读取第一遍产生的输出文件,构建语法树并执行语法分析。该阶段的输出是一个包含语法树的文件。
  • 在第三遍中,编译器可以读取第二遍生成的输出文件,并检查树是否符合语言规则。语义分析阶段的输出是带注释的树语法。
  • 此过程一直进行到生成目标输出为止。

一遍编译器

    • 单遍编译器仅用于遍历程序一次。单遍编译器仅通过每个编译单元的各个部分一次。它将每个部分转换成最终的机器代码。
    • 在单程编译器中,处理线源后,将对其进行扫描并提取令牌。
    • 然后分析每行的语法并构建树结构。在语义部分之后,将生成代码。
    • 对每一行代码重复相同的过程,直到整个程序被编译为止。