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

            heap.Push(new ConstantTerm(_constant));

            program.Next();
        }

Usage Example

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

            SetConstantInstruction i = new SetConstantInstruction();

            object[] args = { "ali" };

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

            AbstractTerm H = (AbstractTerm)((AMHeap)state.DataArea).Top();

            Assert.AreEqual("set_constant", i.Name());
            Assert.AreEqual(1, i.NumberOfArguments());
            Assert.AreEqual("ali", H.Data());
        }