私はSchemeインタープリターを書いていました(完全にR5RSと互換性を持たせようとしています)が、VMオペコードにコンパイルすると高速になることに気づきました。(間違っている場合は訂正してください。)メモリ内のSchemeソースコードを解釈できますが、コード生成の理解に固執しています。
私の質問は次のとおりです。たとえば、JVMやその他のVM(または実際のマシン)の場合、解析ツリーからオペコードを生成するにはどのようなパターンが必要ですか?そして、もしあれば、そうすることの複雑さ、利点、または欠点は何でしょうか?