gpt4 book ai didi

compiler-construction - 转译为裸骨 C?

转载 作者:数据小太阳 更新时间:2023-10-29 03:17:40 25 4
gpt4 key购买 nike

在观看一些 FOSDEM'14 演示时我发现 this one特别有趣。它是关于 Go 编程语言以及它如何通过包访问编译器的内部。所以基本上你可以在 Go 中编写一个程序来获取 AST(抽象语法树)或更低级的 SSA(单个静态分配)并分析它,或者将它转换成其他东西(例如将它转换为 JavaScript)。我觉得很有意思。我还记得其他一些语言可以做到这一点:Vala ( JavaScript transcompiler ) 和 Boo another JavaScript transcompiler .某些语言将解析代码作为单独的库提供给 AST,例如 Clang对于 C/C++/ObjC,ASIS对于 Ada,或 CodeTools对于 Free Pascal,但它并不完全相同。

我正在考虑为基本的 C/C++ 制作一个 Go 转译器(以使其更适合操作系统开发并且只是为了它的乐趣),你认为这是个好主意吗?是否有任何其他语言可能更容易转换为裸机 C/C++?

最佳答案

我遇到的问题是垃圾收集 - 如果您已经转译为纯 C/C++,那么您要么必须自动插入正确的 free() 调用,要么您的代码将到处泄漏内存。

关于compiler-construction - 转译为裸骨 C?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22567848/

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