6 The SECD virtual machine 6.1 The original SECD machine SECDはVMの4つの主なレジスタからその名前がきている。 S スタック - 評価中に中間の値を保持する E 環境 - 評価中に変数の値を保持する C コード - 実行中の機械語プログラムを保持する D ダンプ - 関数呼び出し中の他のレジスタを保持するスタック 理論上、SとDはひとつのレジスタに結びつけられる。 しかし、VM命令の状態遷移を複雑にする。 各レジスタはS式(へのポインタ)を保持する。 VM命令の影響を示すため、状態遷移が用いられ、 VMステップの前と後での各レジスタの内容を示す。 s e c d → s' e' c' d' 例えば、スタックのトップに定数をロードするVM命令のLCDの状態遷移は s e (LCD x.c) d → (x.s) e c d これは