Axiom.Runtime.Instructions.PutConstantInstruction.Execute C# (CSharp) Method

Execute() public method

public Execute ( AbstractMachineState state ) : void
state AbstractMachineState
return void
        public override void Execute(AbstractMachineState state)
        {
            AMProgram program = (AMProgram)state.Program;

            AbstractTerm Ai = (AbstractTerm)state[_ai];

            Ai.Assign(new ConstantTerm(_c));

            program.Next();
        }

Usage Example

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

            PutConstantInstruction i = new PutConstantInstruction();

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

            i.Process(args);

            Assert.AreEqual("put_constant", i.Name());
            Assert.AreEqual(2, i.NumberOfArguments());

            i.Execute(state);

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

            Assert.IsTrue(X0.IsConstant);
            Assert.AreEqual("ali", X0.Data());
        }