在Warren的抽象机器中,参数变量在哪里创建?

时间:2013-08-15 20:07:11

标签: prolog warren-abstract-machine

我正在尝试创建自己的WAM实现,并且我正在使用“Warren的抽象机器:教程重建”的Figure 2.10中的指令作为测试用例。但是,我需要将A1A2传递给get_structure。但两个变量在哪里创建? put_valueput_variable都创建了A变量,但两者都未在说明中列出。

1 个答案:

答案 0 :(得分:3)

i 是“参数寄存器”。它们是机器的一部分。所以put_value不会创建它们,它会填充它们。第23页的图2.8说:

put_value X_n, A_i ===  A_i <- X_n

意思是,将值 n 存储在A i 中。