K.Maebashi's BBS 投稿フォーム
ハンドル名
件名
Link
>>山さんの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++ソースとリンクし、 >ネイティブな実行形式作成をやってみたいですね。 >
spamよけのため、ここに「ほげぴよ」と入力してください。
削除パスワード :
クリック!