Axiom.Runtime.Instructions.SetVoidInstruction.Execute C# (CSharp) Метод

Execute() публичный Метод

public Execute ( AbstractMachineState state ) : void
state AbstractMachineState
Результат void
        public override void Execute(AbstractMachineState state)
        {
            AMHeap heap = (AMHeap)state.DataArea;
            AMProgram program = (AMProgram)state.Program;

            for (int i = 0; i < _n; i++)
            {
                heap.Push(new AbstractTerm());
            }

            program.Next();
        }

Usage Example

        public void SetVoid()
        {
            AbstractMachineState state = SetupMachine();
            AMHeap heap = (AMHeap)state.DataArea;

            object[] args = { "3" };

            SetVoidInstruction i = new SetVoidInstruction();

            i.Process(args);
            i.Execute(state);

            Assert.AreEqual("set_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);
        }