LLVM ツールキットを使用してCleanのバックエンドを実装することは可能でしょうか? そうでない場合、障害は何ですか?
また、Clean コンパイラーが IR として使用する「ABC アセンブラー」の適切なリファレンスをたまたま知っている場合は、それを回答に含めてください。ありがとう。
LLVM ツールキットを使用してCleanのバックエンドを実装することは可能でしょうか? そうでない場合、障害は何ですか?
また、Clean コンパイラーが IR として使用する「ABC アセンブラー」の適切なリファレンスをたまたま知っている場合は、それを回答に含めてください。ありがとう。
次の記事に興味があるかもしれません (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も参照してください。
ABC 中間言語のドキュメントが何もなければ、大変なことになるでしょう (これまでに何も見つけることができませんでした)。
ただし、それは間違いなく可能です。ヒントとして、代わりに llvm を使用するコード ジェネレーターを実装する必要があります。その範囲は、ABC 言語の複雑さに完全に依存します。
Haskell の llvm-backend が参考になるかもしれません: http://hackage.haskell.org/trac/ghc/wiki/Commentary/Compiler/Backends/LLVM