Top > Shiba
* Shiba - C++上で動くバーチャルマシン [#f902ea03] 妄想もここまでくればなかなかのもの。 ** Shibaとは [#v5167b19] Shiba(シバ)はC++上で動くバーチャルマシンと,バーチャルマシンで動くコードを生成する仕組みのことです。 多人数ゲーム開発で使えるものを目指します。 まったり作成中。 ** 構成 [#ke5af359] |項目|説明|h |[[Shiba Language>./Shiba Language]]|Shibaの言語仕様。| |[[Shiba Compiler>./Shiba Compiler]]|Shiba Languageで書かれたソースコードを中間データ「Shiba Byte Code」に変換するコンパイラ。C#で作成。| |[[Shiba Engine>./Shiba Engine]]|Shiba Compilerで生成されたByte Codeを実行するエンジン。C++で作成。| |[[Shiba VM>./Shiba VM]]|Shiba Engineで動かすバーチャルマシンの仕様。| |[[Shiba Byte Code>./Shiba Byte Code]]|Shiba Compilerが出力するバイトコードの仕様。| ** 経緯 [#x09e6f7f] - 最初はLuaやSquirrel,AngelScriptといったスクリプトエンジンを作るつもりだった。 - しかしランタイムでコンパイルする仕様は自分の要求にどうしても合わなかった。 - 自分の要求とは次のようなもの。 -- できればさくっと作りたい。 -> C++でコンパイラ書くとどうしても肥大化する。 -- C++で書くコードを最低限にしたい。 -- ソースコードを配布物に含めたくない。 -- できればさくっと作りたい。 -> C++でコンパイラ書くと考慮することが多くなり,さくっと作れない。 -- C++で書くコードを最低限にしたい。 -> C++は面倒くさいことが多い。 -- ソースコードを配布物に含めたくない。 -> 中間コードに変換したい。 - 解を求めていった結果,「C#でコンパイラを作り,PC上でソースコードを中間コードに変換し,ランタイムで中間コードを解釈し実行する」が理想ということになった。 ** その他 [#p8ac4128] - [[./メモ]] |