gpt4 book ai didi

compiler-construction - 为编译器设计中间表示

转载 作者:行者123 更新时间:2023-12-04 15:04:12 24 4
gpt4 key购买 nike

我一直在研究编译器设计。我在大学完成了一个学期的类(class),并一直在阅读 Grune 等人的现代编译器设计,这本书似乎提倡使用带注释的抽象语法树作为中间代码,这就是我们在类(class)中使用的。

我的问题是这种方法与生成某种堆栈机器语言或低级伪代码相比有什么好处,特别是在拥有可以针对许多机器的编译器方面。

简单地针对已经存在的低级表示(例如 LLVM)并将其用作中间表示是否是个好主意?

最佳答案

如果您的语言足够复杂,您最终会以任何方式获得一系列略有不同的中间表示。这并不重要,哪种表示将成为您的最终目标 - llvm、C、 native 代码、CLR、JVM 等等。它不应影响编译器的设计和体系结构。

而且,根据我的个人经验,您拥有的中间步骤越多,中间的转换越简单,您的编译器架构就越好。

关于compiler-construction - 为编译器设计中间表示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4611053/

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