K.Maebashi's BBS

ご自由に書き込んでください。雑談も可。
テスト書き込みの類はテスト用掲示板にどうぞ

[日付順表示] [日付順インデックス] [スレッド順インデックス]

新規投稿 | 開設者ホームページへ戻る | ヘルプ

[1422] Re:デバックシステム一応完成
投稿者:
2009/08/14 19:19:24

>山さんのVMがDVMとどれぐらい違うのだろうと思ってダウンロードしてみましたが、 >VM部分のソースはないのでしょうか……  どれぐらい違うのかソースファイルのサイズで定量的に計ってみました。 ・システム管理部分  115K(ソースファイルの合計) ・コンパイラ     150K ・VM         73K ・共用        45K ・組込み関数     34K ・ヘッダーファイル  140K (クラスやテンプレートでヘッダーファイルが大きくなるのはC++の宿命ですね)         合計 557K  プログラムの行数的にはコメント含み1万数千行ほどあります。 Diksam 2.0 より流用改変したソースはコンパイルラ部分のみで123K、 全体の22%。その中はクラス化や、言語仕様の違いで全関数修正している ため。元の6割ぐらいしか原型が残っていないと思います。VMについては、 新たに書いているので基本アルゴリズムが同じで、中身は違ったものになっ ています。  VMは最小になるように作られているので、73K 全体の13%です。ソース の60%は新しく作りこんだ仕様のためでした。内容はマルチVMのシステム・ 言語的にスレッドセーフな仕組み・コンパイルとVM間の協調動作管理、等々です。  私が言ってはいけないのかもしれませんが、結構複雑なシステムになってます。 難しいのもまた楽しくもあります。  ソースの件ですが、正式にフリー公開時点でソース公開も考えています。 現時点ではまだちょっとです。(ぱ)さん以外非公開を条件にVMのソース送り ましょうか?  VMは1つのクラスで、そのクラスのオブジェクトを1つ作ったら、それが1つの VMスレッドになり、VM機能を詰め込んだ、あまりクラスらしくないクラスです。 だから、メモリーがあるだけマルチでVMスレッドを自由に実行できます。  ちなみにコンパイラも見た目は1クラス(内部でいくつかのクラスを使用)で、 機能的にきれいに分離されています。ただその分システム管理で全体の協調 動作制御が必要です。 >あと、フォルダ名の「editer」は固有名詞でしょうか? いえ、LIZA.iniファイルで自由に変えられます。  先のことですが、ライザ言語はC言語のシンタックスにとても似ているので、 ライザ言語をC++のソースにコンパイルすることは簡単です。完成した後、 暇だったらシステムをライブラリー化して、コンパイルしたC++ソースとリンクし、 ネイティブな実行形式作成をやってみたいですね。
[この投稿を含むスレッドを表示] [この投稿を削除]