小さな実験のために、独自のスクリプト言語と仮想マシンを最初から実装してきました。スクリプトリーダーはスクリプトを解析し、ランタイムエンジンが実行する一連の命令に変換します。
最初は考えていませんでしたが、今はフロー制御(ループ、分岐など)を含めたいと思います。私は言語理論に精通しておらず、インスピレーションを得るためにいくつかの例を見ただけです。
ただし、x86とJava仮想マシンの両方に、フロー制御に使用される多数の命令があります。x86には、フラグの状態に基づいてジャンプする命令や、関連するフラグを何らかの方法で操作するその他の命令がたくさんあります。Javaには、ある種の比較と条件付きジャンプを行う16の命令があるようです。
これは効率的であるか、ハードウェア固有の理由によって動機付けられている可能性がありますが、私が探しているものではありません。
私は、フロー制御に対する無駄のないエレガントなソリューションを探しています。これは、いくつかの専用の命令を必要とするだけで、実装と保守が複雑すぎないものです。
うまくいくものを思いつくことができるとかなり確信していますが、車輪の再発明をするのではなく、知識を向上させたいと思っています。説明や関連資料へのリンクは大歓迎です!