【发布时间】:2018-04-26 06:03:17
【问题描述】:
,我将 IR 定义为 3 地址代码类型表示(我意识到它也可以表示 AST 表示)。
据我了解,在为 命令式语言 编写最佳实践编译器时,代码优化发生在 AST(可能最好使用访问者模式)和生成的 IR 上AST。
(a) 对吗?
(b) 在生成 IR 之前,哪种类型的优化步骤最好在 AST 上处理? (也欢迎参考文章/在线列表,只要它涉及命令式语言)
我正在开发的编译器是用于 Decaf(有些人可能知道)的,它具有相当深的 CFG 直至(单个)类继承;我将添加不属于它的功能,例如类型强制。它将完全手动编码(不使用任何工具)。这不是家庭作业;写它是为了好玩。
【问题讨论】:
标签: optimization compiler-construction abstract-syntax-tree