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

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

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 Ai = (AbstractTerm)state[_ai];

            heap.Push(new ListTerm());

            Ai.Assign((AbstractTerm)heap.Top());

            program.Next();
        }

Usage Example

        public void PutList()
        {
            AbstractMachineState state = SetupMachine();

            PutListInstruction i = new PutListInstruction();

            object[] args = { "X0" };

            i.Process(args);

            Assert.AreEqual("put_list", i.Name());
            Assert.AreEqual(1, i.NumberOfArguments());

            i.Execute(state);

            AbstractTerm X0 = (AbstractTerm)state["X0"];

            Assert.IsTrue(X0.IsList);
        }