From 3dbbb6da30fad6ad7aab651bdabc78d9dff0815e Mon Sep 17 00:00:00 2001 From: "Matsuura Tomoya(Windows)" Date: Fri, 11 Jul 2025 00:45:50 +0900 Subject: [PATCH] [obsidian] vault backup: 2025-07-11 00:45:49[ --- .../多段階計算を命令型VMインストラクションで表現したい.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/content/多段階計算を命令型VMインストラクションで表現したい.md b/content/多段階計算を命令型VMインストラクションで表現したい.md index 942ccf56..e427da77 100644 --- a/content/多段階計算を命令型VMインストラクションで表現したい.md +++ b/content/多段階計算を命令型VMインストラクションで表現したい.md @@ -18,9 +18,9 @@ VMは最初、マクロ評価時に自分の現在の評価ステージを0と VMは、命令記録モードと実行モードの2種類で、現在の評価ステージが0のときに実行モードになる -mainプログラムの先頭はマクロ展開のため必ずincl_levelからスタート=命令記録モードから開始 +mainプログラムの先頭はマクロ展開のため必ずincr_levelからスタート=命令記録モードから開始 -命令記録モードでは、decl_levelがでてくるまでバッファに実行した命令をコピーし続ける +命令記録モードでは、decr_levelがでてくるまでバッファに実行した命令をコピーし続ける decl_levelでレベル0になったら...うーん ```ocaml @@ -62,3 +62,7 @@ endescape ret 1 ``` + +VMの構造にメタプログラミングを埋め込むよりも、MIR生成段階でなにかしらのサンクを呼び出すということにして一時的に空にしておく、みたいなやり方のほうが素直かもな + +