gpt4 book ai didi

optimization - 编译器代码优化 : AST vs. IR

转载 作者:行者123 更新时间:2023-12-03 16:41:10 26 4
gpt4 key购买 nike

,我将 IR 定义为 3 地址代码类型表示(我意识到人们也可以将其表示为 AST 表示)。

我的理解是,在为命令式语言编写最佳实践编译器时,代码优化发生在 AST(可能最好使用访问者模式)和从 AST 生成的 IR 上。

(a) 对吗?

(b) 在生成 IR 之前最好在 AST 上处理哪种类型的优化步骤? (引用一篇文章/在线列表也欢迎,只要它涉及命令式语言)

我正在开发的编译器用于 Decaf(有些人可能知道),它具有相当深的 CFG 直至(单个)类继承;我将添加不属于它的功能,例如类型强制。它将完全手工编码(不使用任何工具)。这不是家庭作业;写它是为了好玩。

最佳答案

(a) 是的。

(b) 恒定折叠是一个例子; CSE 是另一个;实际上几乎与表达式评估有关。 IR 相优化更多地是关于流动分析的结果。

关于optimization - 编译器代码优化 : AST vs. IR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22894520/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com