3

LLVM ツールキットを使用してCleanのバックエンドを実装することは可能でしょうか? そうでない場合、障害は何ですか?

また、Clean コンパイラーが IR として使用する「ABC アセンブラー」の適切なリファレンスをたまたま知っている場合は、それを回答に含めてください。ありがとう。

4

2 に答える 2

1

次の記事に興味があるかもしれません (ST 部門がサーバー構成を台無しにして以来、それらを見つけるのに苦労しています):

Smetsers, JEW Compiling CLEAN to Abstract ABC-Machine Code, University of Nijmegen, Technical Report 89-20, October 1989. 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 に答える
1

ABC 中間言語のドキュメントが何もなければ、大変なことになるでしょう (これまでに何も見つけることができませんでした)。

ただし、それは間違いなく可能です。ヒントとして、代わりに llvm を使用するコード ジェネレーターを実装する必要があります。その範囲は、ABC 言語の複雑さに完全に依存します。

Haskell の llvm-backend が参考になるかもしれません: http://hackage.haskell.org/trac/ghc/wiki/Commentary/Compiler/Backends/LLVM

于 2013-01-25T16:05:22.807 に答える