pasberth/Macra

コンパイラ作りたい

Opened this issue · 3 comments

個人的な事

VM で 動かさず機械語にコンパイルしたい。

今すぐはできなくていい。あとで。

TODO: 本当にできるか検証する

構想 https://gist.github.com/4193599

無理にコンパイルしなくても、スタンドアロンなバイナリを作れるようにしたい。

スタンドアロンなバイナリを作る、他の手段としては、吐くバイナリが VM であり実際にはその上でプログラムを動かすなど
ができる (Haskell はこの方法でコンパイルしてるっぽい)

多分、Macraを直接バイナリにコンパイルするより、VMのインストラクションをコンパイルした方が移植性高まる。
Macraの仕様よりコンパクトだから複製しやすいし、そのコンパイラがMacra以外の言語でも使える可能性が出てくる。あと、インタプリタ方式で走らせる時とコンパイルした時の挙動の差をなくしやすいと思う。

そうだね。てことは、まずは hoge.macrac みたいなフォーマット (instruction をテキストファイルに書き出したもの) を作って、
コンパイラは hoge.macrac をコンパイルするみたいな感じ

macrac は macra のソースコードから作らなくてもべつの言語をコンパイルしてもいいみたいな