如何在类型检查ast上运行优化?

时间:2017-04-17 08:10:30

标签: optimization go code-generation

有扫描/解析/ typecheck Go代码的包, 但是优化呢?

假设我们有一个将Go转换为其他目标语言的程序。 如果我们仅基于AST进行,我们将错过所有优化(除非我们手动应用它们)。目标环境可能有非常糟糕或根本没有优化器,当然即使它有一个优化器,它也无法很好地优化转换编码。

简单地说:我们有什么选择?

也许有一些方法可以通过优化编译Go到其汇编程序,然后(2)之一: a)将汇编程序转换回Go并像往常一样遍历AST?
b)将汇编程序读入某种IR结构并用它来发出代码?

提前致谢。

0 个答案:

没有答案