Axiom.Runtime.Choicepoint.SaveRegisters C# (CSharp) Method

SaveRegisters() public method

public SaveRegisters ( AbstractMachineState state, int count ) : void
state AbstractMachineState
count int
return void
        public void SaveRegisters(AbstractMachineState state, int count)
        {
            for (int i = 0; i < count; i++)
            {
                AbstractTerm toSave = new AbstractTerm();
                toSave.Copy((AbstractTerm)state["X" + i.ToString()]);
                _savedVariables.Add(toSave);
            }
        }

Usage Example

Ejemplo n.º 1
0
        public void SaveRegisters()
        {
            AbstractMachineState state = new AbstractMachineState(new AMFactory());
            ArrayList prog = new ArrayList();
            prog.Add(new HaltInstruction());
            state.Initialize(prog);

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

            X0.Assign(new ConstantTerm("ali"));
            X1.Assign(new ConstantTerm("samir"));
            X2.Assign(new ConstantTerm("moe"));

            Choicepoint c = new Choicepoint();

            c.SaveRegisters(state, 3);

            Assert.AreEqual("ali", c["X0"].Data());
            Assert.AreEqual("samir", c["X1"].Data());
            Assert.AreEqual("moe", c["X2"].Data());
        }