pure Ruby な C コンパイラがあったらいいな

自作の拡張ライブラリを作ったのはいいけど、Windows 用バイナリを作ろうとして行き詰まる。Windows ではどうやってコンパイルすればいいのかわかんないし、そもそも WindowsRuby からして種類がいくつかあって、どれをターゲットにしたらいいのかもわかんない。

で思ったのだが、どうせなら pure Ruby な C コンパイラがあれば、こんなことで悩まなくて済むんじゃなかろうか。そいつで Windows 用の拡張ライブラリどころか、Ruby 本体もコンパイルできれば、なんだかすごい世界が広がるように思う。ちょうど、C をなるべく排除しようとしてる Rubinius とまったく逆のアプローチ。

C のコンパイラRuby で作る場合、フロントエンドはまだいいとして、バックエンドが問題だよな。Pure Rubyアセンブラを作らなきゃいけないけど、アセンブラよく知らんし。

ということを思って、tcc (tiny c compiler) のソースをダウンロードして眺めてみた。CPU は i386, ARM, x86-64 をサポートし、OS は LinuxWindows に対応していているけど、Mac OS X はサポートしてないようだ。tccはフロントエンドとバックエンドがきちんと分離されているみたいだし、このソースを読んで勉強すればいいのかな。


え、LLVM? そんな難しい話されても困る。