3

使用 LLVM 工具包实现Clean后端是否可行?如果没有,绊脚石是什么?

此外,如果您碰巧知道 Clean 编译器用作 IR 的“ABC 汇编器”的一个很好的参考,请将其包含在您的答案中。谢谢。

4

2 回答 2

1

如果没有任何关于 ABC 中级语言的文档,这将很难(我一直找不到任何东西)。

然而,这绝对是可能的。正如您自己暗示的那样,您需要实现代码生成器以使用 llvm 代替——其范围完全取决于 ABC 语言的复杂性。

Haskell 的 llvm-backend 可能会受到启发:http ://hackage.haskell.org/trac/ghc/wiki/Commentary/Compiler/Backends/LLVM

于 2013-01-25T16:05:22.807 回答
1

您可能对以下文章感兴趣(由于 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,奈梅亨大学。

另请参阅http://clean.cs.ru.nl/ST_Publications

于 2013-12-12T09:34:10.880 回答