public Execute ( AbstractMachineState state ) : void | ||
state | AbstractMachineState | |
리턴 | void |
public override void Execute(AbstractMachineState state)
{
AMProgram program = (AMProgram)state.Program;
AMHeap heap = (AMHeap)state.DataArea;
AbstractTerm Vn = new AbstractTerm();
AbstractTerm reg = (AbstractTerm)state[_vn];
Vn.Assign(reg.Dereference());
heap.Push(Vn);
program.Next();
}
public void SetValue() { AbstractMachineState state = SetupMachine(); SetValueInstruction i = new SetValueInstruction(); object[] args = { "X0" }; i.Process(args); AbstractTerm X0 = (AbstractTerm)state["X0"]; i.Execute(state); Assert.AreEqual("set_value", i.Name()); Assert.AreEqual(1, i.NumberOfArguments()); Assert.AreSame(X0.Dereference(), ((AbstractTerm)state["H"]).Dereference()); }