Axiom.Runtime.Instructions.PutValueInstruction.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;

            AbstractTerm Vn = (AbstractTerm)state[vn];
            AbstractTerm Ai = (AbstractTerm)state[ai];

            Ai.Assign(Vn);
            program.Next();
        }

Usage Example

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

            PutValueInstruction i = new PutValueInstruction();

            object[] args = { "X0", "X1" };

            i.Process(args);
            AbstractTerm X0 = (AbstractTerm)state["X0"];
            X0.Assign(new ConstantTerm("ali"));

            i.Execute(state);

            AbstractTerm X1 = (AbstractTerm)state["X1"];
            Assert.AreEqual("ali", X1.Data());
            Assert.AreEqual("put_value", i.Name());
            Assert.AreEqual(2, i.NumberOfArguments());
        }