yao
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
* yaoのページ
-(by [[yao]], since 2013-09-21)
- [[OSECPU-Lisp>https://github.com/yuta-aoyagi/osecpu-lis...
- ご意見・質問などありましたら、下のコメント欄などにお気...
- このwikiのページは更新があるたびにひととおり読んでいま...
** 目次
#contents
** OSECPU-Lisp
- OSECPU-VM上で動作するPure Lispのインタプリタです。
- 今後OSECPU-Lispに関することはここに書いていきます。
- 2013-09-21現在、OSECPU-Lispのチュートリアルを書いていま...
2013-09-23、第1版(コミットID: f5fde0d688)を公開しました。
- 2013-10-19、第2版(コミットID: de4e847063)を公開しました。
- リポジトリをクローンして( git clone https://github.com/...
** OSECPU-compilers
- 自己記述できるコンパイラを作ろうというプロジェクトです。
- 最初のリリースは1024バイトコンテストには何とか間に合っ...
-- 先に「リリース」とだけ書いたこのページの編集は、このwi...
-- (近い時刻の編集はPukiWikiのバックアップに残らなかった...
リリース. http://www16.atpages.jp/aoyagi/data/c000.tgz
- この最初のリリースはドキュメントもなしにtgzで固めただけ...
- c000は、普通に考えられる中でもっとも低級なアセンブラで...
-- 入力からコメントを取り除きオペコードを変換して、16進ダ...
-- この出力をapp0031.oseに渡すことで任意のバイナリを生成...
- リンクしたアーカイブを展開して「make BINTRANS=(app0031....
-- ブートストラップのため、1段目を手で実行したものがアー...
- コンパイルに成功したら(diffにPATHが通った状態で)「make ...
-- エラーが発生しなければ成功です。
- さて、1024バイトコンテストに応募するための要件ですが、...
-- (「当初は512バイト切ればいいなー」と思ってたのに半分未...
-- というわけで、QRコードの271バイトの部に応募できますね...
** 進捗報告
*** 2013-11-29
- ずいぶん久しぶりなので進捗を書いておきたいと思います。
- (1)Linuxの導入
-- 1024コンテストの後、開発に使っているWindows機にLinux(D...
-- 名前のとおり小さいディストリビューションなのでGTKはな...
-- うまく動かなかったので、osecpu.cからウィンドウを扱って...
- 番号つけたのはいいけど、進捗に書けることは(1)しかなかっ...
- その後はOSECPU-VMに戻って、
-- OSECPU-Lispのチュートリアル拡充
-- OSECPU-Lispにquote構文を導入
-- OSECPU-compilersのちゃんとしたリリース
-- まだ構想段階の(ため明言はしたくない)プロジェクト2つ
- などをやりたい。
*** 2014-03-15
- 「ずいぶん久しぶり」から3か月半も経ってしまいました。何...
- 「進捗どうですか?」「進捗ダメです」
- (1)VPS契約(2月上旬)
-- 前回の報告にあったWindows機がお亡くなりになりマシンが1...
-- ちなみにこのWindows機に仮想Linux機を置いていたので、今...
-- まだOSECPU-VM関係でなにかやろうという環境にはなってい...
- (2)新規プロジェクト「JSECPU-VM」始動(2月下旬)
-- (先に、前回の報告にあった「OSECPU-VMと関係のないプログ...
-- 名前だけで察していただけると思うけど、OSECPU-VMのJava...
-- 標準のosecpu.exeを可能な限り再現すること、VMに統合され...
-- 現在のところ、バックエンドコード記述のapp0000とapp0001...
- (1月下旬に書いたメモより)
-- OSECPU-VMプロジェクトへの貢献は、周りへの影響が大きい...
+++ VM仕様自体の改善。
+++ 標準の実装osecpu.exeの改善。
+++ VMを他のプラットフォームに移植。
+++ バックエンドとして使う(典型的には言語処理系)。
+++ アプリを作る。
-- 単にアプリを作る(e.)よりは、VMを移植すれば(c.)すでに存...
-- これまでの活動は、osecpu.exeのバグ報告(b.)、OSECPU-Lis...
-- バグ報告はバグを見つけられないとできないので、a.やb.に...
-- 以前のプロジェクトはd.やe.だが、ある程度規模が大きいア...
-- したがって、デバッガを含むVMを新たに開発することにした。
-- 標準のosecpu.exeにデバッガを実装するというb.の貢献も考...
*** 2014-07-30
- 「「ずいぶん久しぶり」から3か月半も経って」からさらに4...
- なんといっても最大の変化はrev2のリリースでしょう。
- rev1時代にセキュリティにかかわる重大なバグを見つけて(20...
- rev2がリリースされあれよあれよと機能面でrev1に追いつき...
- ここ2週間ほどちまちまコードを書いてはいますが、しばらく...
- <追記 date="2014-08-01">
- (言うまでもなさそうですが報告として) 以下のプロジェクト...
-- OSECPU-Lisp・OSECPU-Compilers・JSECPU-VM(rev1)
--- (いずれもrev1専用ですがrev1の開発は中断しているため)
-- Forthインタプリタ(5月中旬/未公開のまま)
--- (rev1専用であり、また、indirect threded codeの実行が...
-- RubyのDSLとして実装されたrev2(osecpu106a)向けアセンブ...
--- (うかうかしているうちにosecpu109aがリリースされて不要...
- 下2つはメタプログラミングのいい勉強になりましたけどね。...
- </追記>
- <さらなる追記 date="2014-08-18">
- ちょくちょく進捗報告するとモチベーションを維持しやすい...
- 私の趣味(開発の傾向)を知っている人なら、rev2が標準入出...
- R5RS(Revised^5 Report on the Algorithmic Language Schem...
- 現状、関数readとwriteのごく一部だけが動作するようになっ...
- これほど開発が遅いのは、忙しい以外に理由がもう一つあり...
-- ある程度大きなプログラムの開発になると、ASKAを直接使っ...
-- そこで、ASKAソースを出力するようなトランスレータのごく...
-- [1]例えば[[page0095]](1)の関数funcなら
defun(, @[func@], @[_r, a, b@], @[R30 = a; R31 = b; @], ...
Int32s a:R30, b:R31, r:R30;
r = a + b;
@])
-- と定義できるようになります。
-- ちょっと苦しいですがdefun((後述), 関数名, 引数, 入力の...
-- 上の記述から、[a]L_funcからLOCAL(n)へのマクロ定義、[b]...
-- [2]defunが内部で使っているdeflabelがLOCAL(n)を管理して...
-- ラベル番号が自動的に管理されるので、その副作用として、...
--- その直接の帰結として、テストドライバから関数定義をinc...
--- また、一群のdefun定義を集めたファイルをincludeするこ...
--- (defunの定義自体は汎用のマクロプロセッサGNU m4で書か...
-- [3]上の例ではdefunの第1引数は空ですが、ここに書かれた...
--- DoxygenでASKAソースをC言語として入力すると、マクロ定...
--- そこそこ見栄えのするドキュメントがコードから自動生成...
-- (とまあ、都合のいいことばかり書いてきましたが、強力な...
-- というわけで、開発が遅いのはrev2用の開発環境を作るのに...
- 中間コードの最小限のインタプリタができたあたりがいいタ...
- </さらなる追記>
- <追記 no="3" date="2014-09-01">
- 上で述べたユニットテストがサポートに加わりました。`make...
- テストケースでDAT_SAを変える必要が出てきたので、DAT_SA...
- </追記>
- <追記 no="4" date="2014-09-17">
- 上で述べたDAT_SAのサポートが加わりました。何件かのテス...
- そのほかには、今開発している以外のASKAプログラムに流用...
- これだけ手間をかけているのに実行されるべきコードがほと...
-- 手間をかける場所を間違っているというのは認識してますが...
- </追記>
// [[members]]
** コメント欄
-うわあああ!す、すまん…すまん…(・_; じつはblikeのlinux...
-すまん…すまん…(・_; というかOSECPUのドライバー部分、私...
-おお!yaoさんが帰ってきた!! -- [[K]] SIZE(10){2014-07-...
#comment
終了行:
* yaoのページ
-(by [[yao]], since 2013-09-21)
- [[OSECPU-Lisp>https://github.com/yuta-aoyagi/osecpu-lis...
- ご意見・質問などありましたら、下のコメント欄などにお気...
- このwikiのページは更新があるたびにひととおり読んでいま...
** 目次
#contents
** OSECPU-Lisp
- OSECPU-VM上で動作するPure Lispのインタプリタです。
- 今後OSECPU-Lispに関することはここに書いていきます。
- 2013-09-21現在、OSECPU-Lispのチュートリアルを書いていま...
2013-09-23、第1版(コミットID: f5fde0d688)を公開しました。
- 2013-10-19、第2版(コミットID: de4e847063)を公開しました。
- リポジトリをクローンして( git clone https://github.com/...
** OSECPU-compilers
- 自己記述できるコンパイラを作ろうというプロジェクトです。
- 最初のリリースは1024バイトコンテストには何とか間に合っ...
-- 先に「リリース」とだけ書いたこのページの編集は、このwi...
-- (近い時刻の編集はPukiWikiのバックアップに残らなかった...
リリース. http://www16.atpages.jp/aoyagi/data/c000.tgz
- この最初のリリースはドキュメントもなしにtgzで固めただけ...
- c000は、普通に考えられる中でもっとも低級なアセンブラで...
-- 入力からコメントを取り除きオペコードを変換して、16進ダ...
-- この出力をapp0031.oseに渡すことで任意のバイナリを生成...
- リンクしたアーカイブを展開して「make BINTRANS=(app0031....
-- ブートストラップのため、1段目を手で実行したものがアー...
- コンパイルに成功したら(diffにPATHが通った状態で)「make ...
-- エラーが発生しなければ成功です。
- さて、1024バイトコンテストに応募するための要件ですが、...
-- (「当初は512バイト切ればいいなー」と思ってたのに半分未...
-- というわけで、QRコードの271バイトの部に応募できますね...
** 進捗報告
*** 2013-11-29
- ずいぶん久しぶりなので進捗を書いておきたいと思います。
- (1)Linuxの導入
-- 1024コンテストの後、開発に使っているWindows機にLinux(D...
-- 名前のとおり小さいディストリビューションなのでGTKはな...
-- うまく動かなかったので、osecpu.cからウィンドウを扱って...
- 番号つけたのはいいけど、進捗に書けることは(1)しかなかっ...
- その後はOSECPU-VMに戻って、
-- OSECPU-Lispのチュートリアル拡充
-- OSECPU-Lispにquote構文を導入
-- OSECPU-compilersのちゃんとしたリリース
-- まだ構想段階の(ため明言はしたくない)プロジェクト2つ
- などをやりたい。
*** 2014-03-15
- 「ずいぶん久しぶり」から3か月半も経ってしまいました。何...
- 「進捗どうですか?」「進捗ダメです」
- (1)VPS契約(2月上旬)
-- 前回の報告にあったWindows機がお亡くなりになりマシンが1...
-- ちなみにこのWindows機に仮想Linux機を置いていたので、今...
-- まだOSECPU-VM関係でなにかやろうという環境にはなってい...
- (2)新規プロジェクト「JSECPU-VM」始動(2月下旬)
-- (先に、前回の報告にあった「OSECPU-VMと関係のないプログ...
-- 名前だけで察していただけると思うけど、OSECPU-VMのJava...
-- 標準のosecpu.exeを可能な限り再現すること、VMに統合され...
-- 現在のところ、バックエンドコード記述のapp0000とapp0001...
- (1月下旬に書いたメモより)
-- OSECPU-VMプロジェクトへの貢献は、周りへの影響が大きい...
+++ VM仕様自体の改善。
+++ 標準の実装osecpu.exeの改善。
+++ VMを他のプラットフォームに移植。
+++ バックエンドとして使う(典型的には言語処理系)。
+++ アプリを作る。
-- 単にアプリを作る(e.)よりは、VMを移植すれば(c.)すでに存...
-- これまでの活動は、osecpu.exeのバグ報告(b.)、OSECPU-Lis...
-- バグ報告はバグを見つけられないとできないので、a.やb.に...
-- 以前のプロジェクトはd.やe.だが、ある程度規模が大きいア...
-- したがって、デバッガを含むVMを新たに開発することにした。
-- 標準のosecpu.exeにデバッガを実装するというb.の貢献も考...
*** 2014-07-30
- 「「ずいぶん久しぶり」から3か月半も経って」からさらに4...
- なんといっても最大の変化はrev2のリリースでしょう。
- rev1時代にセキュリティにかかわる重大なバグを見つけて(20...
- rev2がリリースされあれよあれよと機能面でrev1に追いつき...
- ここ2週間ほどちまちまコードを書いてはいますが、しばらく...
- <追記 date="2014-08-01">
- (言うまでもなさそうですが報告として) 以下のプロジェクト...
-- OSECPU-Lisp・OSECPU-Compilers・JSECPU-VM(rev1)
--- (いずれもrev1専用ですがrev1の開発は中断しているため)
-- Forthインタプリタ(5月中旬/未公開のまま)
--- (rev1専用であり、また、indirect threded codeの実行が...
-- RubyのDSLとして実装されたrev2(osecpu106a)向けアセンブ...
--- (うかうかしているうちにosecpu109aがリリースされて不要...
- 下2つはメタプログラミングのいい勉強になりましたけどね。...
- </追記>
- <さらなる追記 date="2014-08-18">
- ちょくちょく進捗報告するとモチベーションを維持しやすい...
- 私の趣味(開発の傾向)を知っている人なら、rev2が標準入出...
- R5RS(Revised^5 Report on the Algorithmic Language Schem...
- 現状、関数readとwriteのごく一部だけが動作するようになっ...
- これほど開発が遅いのは、忙しい以外に理由がもう一つあり...
-- ある程度大きなプログラムの開発になると、ASKAを直接使っ...
-- そこで、ASKAソースを出力するようなトランスレータのごく...
-- [1]例えば[[page0095]](1)の関数funcなら
defun(, @[func@], @[_r, a, b@], @[R30 = a; R31 = b; @], ...
Int32s a:R30, b:R31, r:R30;
r = a + b;
@])
-- と定義できるようになります。
-- ちょっと苦しいですがdefun((後述), 関数名, 引数, 入力の...
-- 上の記述から、[a]L_funcからLOCAL(n)へのマクロ定義、[b]...
-- [2]defunが内部で使っているdeflabelがLOCAL(n)を管理して...
-- ラベル番号が自動的に管理されるので、その副作用として、...
--- その直接の帰結として、テストドライバから関数定義をinc...
--- また、一群のdefun定義を集めたファイルをincludeするこ...
--- (defunの定義自体は汎用のマクロプロセッサGNU m4で書か...
-- [3]上の例ではdefunの第1引数は空ですが、ここに書かれた...
--- DoxygenでASKAソースをC言語として入力すると、マクロ定...
--- そこそこ見栄えのするドキュメントがコードから自動生成...
-- (とまあ、都合のいいことばかり書いてきましたが、強力な...
-- というわけで、開発が遅いのはrev2用の開発環境を作るのに...
- 中間コードの最小限のインタプリタができたあたりがいいタ...
- </さらなる追記>
- <追記 no="3" date="2014-09-01">
- 上で述べたユニットテストがサポートに加わりました。`make...
- テストケースでDAT_SAを変える必要が出てきたので、DAT_SA...
- </追記>
- <追記 no="4" date="2014-09-17">
- 上で述べたDAT_SAのサポートが加わりました。何件かのテス...
- そのほかには、今開発している以外のASKAプログラムに流用...
- これだけ手間をかけているのに実行されるべきコードがほと...
-- 手間をかける場所を間違っているというのは認識してますが...
- </追記>
// [[members]]
** コメント欄
-うわあああ!す、すまん…すまん…(・_; じつはblikeのlinux...
-すまん…すまん…(・_; というかOSECPUのドライバー部分、私...
-おお!yaoさんが帰ってきた!! -- [[K]] SIZE(10){2014-07-...
#comment
ページ名: