【お知らせ】プログラミング記事の投稿はQiitaに移行しました。

開発中止

C#のunsafeについて検討した結果、C言語の代用としてネイティブコンパイルすることが可能であるとの結論に達しました。そのため独自言語Andromedaの実装を中止することにしました。

開発途中の最終版です。BNF処理系やアセンブラは未完成のままで、コード生成で大量の警告が出ます。
今後はC#のネイティブコンパイラ開発を検討しています。LLPMLはC#で記述したため、Andromedaとして自分自身を書き直す手間がありました。それに対してC#C#コンパイラを書けば、コンパイラの完成後に自分自身を書き直さなくてもコンパイルできます。

ですがすぐに開発には着手しないで、しばらくはC#のコード記述の効率化を研究しようと思います。

もともと独自言語の開発はコード記述の効率化を目的に開始したものでした。コードの記述を効率化するに当たって、パースやコンパイルまで完全に制御する必要があったためです。これはコンパイラが完成するまでは効率が悪くても我慢するという発想です。そのため独自言語の貧弱な開発環境を我慢していました。これは能率が非常に悪かったため、発想を逆にして、最初に効率化を求めることにしました。C#コンパイラを作るのであれば、C#の周辺ツールを作っても無駄にはなりません。