yaoのページ
- (by yao, since 2013-09-21)
- OSECPU-Lispの作者です。
- ご意見・質問などありましたら、下のコメント欄などにお気軽にどうぞ。
- このwikiのページは更新があるたびにひととおり読んでいます。
目次
OSECPU-Lisp
- OSECPU-VM上で動作するPure Lispのインタプリタです。
- 今後OSECPU-Lispに関することはここに書いていきます。
- 2013-09-21現在、OSECPU-Lispのチュートリアルを書いています。
数日中に第1版を公開する見込みです。
2013-09-23、第1版(コミットID: f5fde0d688)を公開しました。
- 2013-10-19、第2版(コミットID: de4e847063)を公開しました。
- リポジトリをクローンして( git clone https://github.com/yuta-aoyagi/osecpu-lisp.git )、「git diff (AのコミットID) (BのコミットID)」を実行するとAとBの変更点を読めます。
OSECPU-compilers
- 自己記述できるコンパイラを作ろうというプロジェクトです。
- 最初のリリースは1024バイトコンテストには何とか間に合った(はず)。
- 先に「リリース」とだけ書いたこのページの編集は、このwikiの時刻で10/23 23:59:56になっています。
- (近い時刻の編集はPukiWikiのバックアップに残らなかったような気がするので一応主張しておきます。)
リリース. http://www16.atpages.jp/aoyagi/data/c000.tgz
- この最初のリリースはドキュメントもなしにtgzで固めただけなので、後でちゃんとしたリリースをやり直します。
- c000は、普通に考えられる中でもっとも低級なアセンブラです。
- 入力からコメントを取り除きオペコードを変換して、16進ダンプを生成します。
- この出力をapp0031.oseに渡すことで任意のバイナリを生成することができます。
- リンクしたアーカイブを展開して「make BINTRANS=(app0031.oseへのパス) build」で自身のコンパイルを行います。
- ブートストラップのため、1段目を手で実行したものがアーカイブに同梱されています。
- コンパイルに成功したら(diffにPATHが通った状態で)「make check」を実行すると自己生成に成功したかどうかがテストされます。
- さて、1024バイトコンテストに応募するための要件ですが、出力されるバイナリはバックエンドコードで840バイト、これにappackをかけてフロントエンドコードを得ると212バイト、さらにappack flags:8をかけて最終サイズが211バイトです!
- (「当初は512バイト切ればいいなー」と思ってたのに半分未満とは……さすがOSECPU-VM、常識が通用しない。)
- というわけで、QRコードの271バイトの部に応募できますね。よろしくお願いいたします>Kさん
進捗報告
2013-11-29
- ずいぶん久しぶりなので進捗を書いておきたいと思います。
- (1)Linuxの導入
- 1024コンテストの後、開発に使っているWindows機にLinux(Damn Small Linux)をQEMUとともに導入、OSECPU-VMのLinux版ビルドを試みる。
- 名前のとおり小さいディストリビューションなのでGTKはなく、フレームバッファ版のblikeをビルド(このあたりがよくわかっていない)。
- うまく動かなかったので、osecpu.cからウィンドウを扱っているコードをコメントアウトしてビルドし、コンソールアプリだけは動くことを確認。
- 番号つけたのはいいけど、進捗に書けることは(1)しかなかった。今はOSECPU-VMと関係のないプログラムを開発している。今年中に最初のリリースを行う予定。
- その後はOSECPU-VMに戻って、
- OSECPU-Lispのチュートリアル拡充
- OSECPU-Lispにquote構文を導入
- OSECPU-compilersのちゃんとしたリリース
- まだ構想段階の(ため明言はしたくない)プロジェクト2つ
- などをやりたい。
コメント欄