昨日、きつねさんでもわかる LLVM が届いたので、 LLVM の練習がてら 作ってみた。コードは以下。 最適化とかは考えていない。 Haskell にも LLVM のためのモジュールはあるけど、一度目だし感覚を掴むためにあまり抽象化されていない感じに作ってみた。 BrainfuckCompiler に Brainfuck のコードを与えて実行すると、 LLVM のインストラクションが書き出される。それを llc などでコンパイルすると実行可能ファイルができあがる。 いいね! こんなふうにいろいろとコンパイラが作れそうな気がしてきた。