2011-10-27 19 views
6

私は、おもちゃの言語で初期テストと実験を行い、LLVMベースのコンパイラを構築してベンチマーク可能な結果を​​得ようと考えています。LLVMベースのコンパイラの言語

私は、C++がLLVMの「ネイティブ」かつ最高にサポートされている言語だと認識していますが、実際にははCまたはC++を使いたくありません。だから私は安定してLLVM APIを扱うためのサポートを確立している高水準言語を探しています。

Python LLVM libraryの私の初期の仕事は、プロジェクトが放棄されているように思われるが、PyPyがLLVMサポートをフレームワークに統合することについての有望なニュースが聞こえるが、少し失望したが、人々の経験は何か与えられたルートに多くの時間を沈める前に。

私の質問は、LLVMを使用している方が、より高いレベルの言語やフレームワークを使用している経験がありましたか?もしそうなら、どちら?それともあなたが避けるべきことは何ですか?

+1

PyPyはかなり前にLLVMを放棄しました。 PythonがLLVMを使用していたとしても、翻訳ツールチェーンによって作成されたインタプリタとJITコンパイラの* backend *としてのみ使用され、RPythonで書かれた*インタプリタ*を使って低レベルのコードにコンパイルします。途中の鐘や笛など)。 – delnan

答えて

6

LLVM APIのサブセットは、プレーンCラッパーを介して公開されています。コード生成には十分であり、実質的にあらゆる高水準言語から使用できます。すぐに使用できるOCamlバインディング(this tutorial参照)があり、Haskellバインディングもかなり成熟しています(GHC自体はLLVMを使用してコンパイルできます)。私はLLVMを.NETベースの言語からもバインディングなしで使用しました(ヘッダーから自動生成されたP/Invokeラッパーのみ)。

関連する問題