public Execute ( AbstractMachineState state ) : void | ||
state | AbstractMachineState | |
return | void |
public override void Execute(AbstractMachineState state)
{
AMProgram program = (AMProgram)state.Program;
AMHeap heap = (AMHeap)state.DataArea;
if (state.IsReadMode)
{
for (int i = 0; i < _n; i++)
{
state.S = state.S.Next;
}
}
else
{
for (int j = 0; j < _n; j++)
{
heap.Push(new AbstractTerm());
}
}
program.Next();
}
public void UnifyVoid() { AbstractMachineState state = SetupMachine(); AMHeap heap = (AMHeap)state.DataArea; UnifyVoidInstruction i = new UnifyVoidInstruction(); state.IsWriteMode = true; object[] args = { "3" }; i.Process(args); i.Execute(state); Assert.AreEqual("unify_void", i.Name()); Assert.AreEqual(1, i.NumberOfArguments()); Assert.IsTrue(((AbstractTerm)heap.Pop()).IsReference); Assert.IsTrue(((AbstractTerm)heap.Pop()).IsReference); Assert.IsTrue(((AbstractTerm)heap.Pop()).IsReference); }