使用 LLVM 工具包实现Clean后端是否可行?如果没有,绊脚石是什么?
此外,如果您碰巧知道 Clean 编译器用作 IR 的“ABC 汇编器”的一个很好的参考,请将其包含在您的答案中。谢谢。
使用 LLVM 工具包实现Clean后端是否可行?如果没有,绊脚石是什么?
此外,如果您碰巧知道 Clean 编译器用作 IR 的“ABC 汇编器”的一个很好的参考,请将其包含在您的答案中。谢谢。
如果没有任何关于 ABC 中级语言的文档,这将很难(我一直找不到任何东西)。
然而,这绝对是可能的。正如您自己暗示的那样,您需要实现代码生成器以使用 llvm 代替——其范围完全取决于 ABC 语言的复杂性。
Haskell 的 llvm-backend 可能会受到启发:http ://hackage.haskell.org/trac/ghc/wiki/Commentary/Compiler/Backends/LLVM
您可能对以下文章感兴趣(由于 ST 部门搞砸了他们的服务器配置,我很难找到它们):
Smetsers, JEW Compiling CLEAN to Abstract ABC-Machine Code,奈梅亨大学,技术报告 89-20,1989 年 10 月。描述如何将 CLEAN 转换为(中间)ABC 代码。
Koopman PWM、Eekelen MCJD van、Nöcker EGJMH、Smetsers S.、Plasmeijer MJ (1990)。“ABCmachine:用于图形重写的基于顺序堆栈的抽象机”。技术报告 90-22,奈梅亨大学。