ユーザ用ツール

サイト用ツール


2026:06:27

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

次のリビジョン
前のリビジョン
2026:06:27 [2026/06/27 20:18] – 作成 machiaworx2026:06:27 [2026/06/27 20:53] (現在) machiaworx
行 12: 行 12:
   * 元々ゲーム用だったり音楽記述用のシンプルな言語・VMがほしいというのが理由としてはある。   * 元々ゲーム用だったり音楽記述用のシンプルな言語・VMがほしいというのが理由としてはある。
   * 勿論仕様だけ決めてAIに実装してもらうのもいいかもだけど。   * 勿論仕様だけ決めてAIに実装してもらうのもいいかもだけど。
- 
----- 
-  * オペコードから直接IOに飛ぶのはよろしくないんだろうかと思ったけど、それは別に定義したFunctionでやれ!ってことなんだろうな・・・(CPU独自で動いてる理由がなくなるし 
-  * 自分の専用言語やデータ形式というのはいつになってもロマンあふれるものです。UnityのScriptableObjectでアセンブリっぽい言語を作ったのはそういう理由もあったけどアレは反省点も多かった 
-  * よく考えてみたら、Unity上で作った言語は描画命令や簡単な命令をアセンブリ言語に割当てたという形ではあったので、一応VMぽいのを作った扱いではあった。 
-  * しかし、その結果命令が肥大化して内部を何度も弄ることになってメンテが困難になったんだよね。 
-  * つまりIOアクセスを直接定義しちゃだめな理由を自分で踏んでたってことだね。やめておこうねw 
-  * VMの言語仕様はシンプルにして、IOは別に定義する、という方法にしてVM本体は小規模にしておきたい。 
-  * で、別途言語仕様を策定してコンパイラはMiniScriptで書く、という形ならアリではと思った。 
  
 ---- ----
   * 目標:小さいVMを作る(C++/C#   * 目標:小さいVMを作る(C++/C#
-  * 目的:スクリプトで専用言語のコンパイラを作るため+  * 目的:\\ ゲーム・音楽アプリに組み込むため\\ 専用言語を作るため\\ スクリプトで専用言語のコンパイラを作るため
  
 ---- ----
行 36: 行 27:
   * https://github.com/darkeclipz/cpp-virtual-machine   * https://github.com/darkeclipz/cpp-virtual-machine
   * https://shibh308.hatenablog.com/entry/2019/12/04/001528   * https://shibh308.hatenablog.com/entry/2019/12/04/001528
-  * +  * https://interpreterbook.com/ 
 + 
 +---- 
 +  * 以下色々と考えてたこと。 
 +  * オペコードから直接IOに飛ぶのはよろしくないんだろうかと思ったけど、それは別に定義したFunctionでやれ!ってことなんだろうな・・・(CPU独自で動いてる理由がなくなるし 
 +  * 自分の専用言語やデータ形式というのはいつになってもロマンあふれるものです。UnityのScriptableObjectでアセンブリっぽい言語を作ったのはそういう理由もあったけどアレは反省点も多かった 
 +  * よく考えてみたら、Unity上で作った言語は描画命令や簡単な命令をアセンブリ言語に割当てたという形ではあったので、一応VMぽいのを作った扱いではあった。 
 +  * しかし、その結果命令が肥大化して内部を何度も弄ることになってメンテが困難になったんだよね。 
 +  * つまりIOアクセスを直接定義しちゃだめな理由を自分で踏んでたってことだね。やめておこうねw 
 +  * VMの言語仕様はシンプルにして、IOは別に定義する、という方法にしてVM本体は小規模にしておきたい。 
 +  * で、別途言語仕様を策定してコンパイラはMiniScriptで書く、という形ならアリではと思った。 
 +  * MiniScriptやPython、Luaのリストを使えば構文木を作るのも難しくないので、十分問題なくできるじゃん!と考えた。 
 +  * 未だに東方VM(俗称)に憧れを抱いている自分がいた。 
 +  * Re:code作ったときはC++でMMLコンパイラ・・・というよりMiniScript形式へのトランスパイラ作ったんだけど、これもスクリプトで実装したほうが簡単だったのでは?なんて思うときはある。リアルタイム処理する関係上速度面を求めた部分はあるけど、スクリプトでできれば柔軟性は上がる。 
 +  * 何より選択肢が生まれるのはだいぶメリットになるし。
2026/06/27.1782559118.txt.gz · 最終更新: 2026/06/27 20:18 by machiaworx