编译器如何构建语法树?

时间:2011-04-04 06:20:12

标签: compiler-theory

编译器在何时构建语法树?在构建可执行文件时,它如何形成树并翻译树?

1 个答案:

答案 0 :(得分:2)

构建语法树的编译器在解析步骤中执行此操作。它这样做,通常是通过为与输入流匹配的每个语法规则生成树节点。

代码生成需要对树进行大量分析才能理解类型,操作,优化机会等。通常这很难直接在树上很好地完成,因此使用其他中间表示(三元组,静态单一分配,... )。通常,即使是中间阶段也不适合机器代码生成,因此可以构建机器指令的某种表示(RTL),...

关键是树不是编译器用来生成代码的唯一表示。

阅读介绍性编译器教科书(Aho和Ullman,“编译器”)以获取更多详细信息是值得的。