Axiom.Runtime.AbstractMachineState.Initialize C# (CSharp) Method

Initialize() public method

public Initialize ( ArrayList instructions ) : void
instructions System.Collections.ArrayList
return void
        public void Initialize(ArrayList instructions)
        {
            _program.Initialize(instructions);
            _dataArea.Initialize(this);

            _registers = new ArrayList();

            // Initialize all registers
            for (int i = 0; i < 23; i++)
            {
                _registers.Add(new AbstractTerm());
            }
        }

Same methods

AbstractMachineState::Initialize ( ArrayList instructions, ArrayList namespaces, ArrayList assemblyFiles ) : void

Usage Example

        public void Call()
        {
            ArrayList prog = new ArrayList();
            prog.Add(new NopInstruction());
            prog.Add(new HaltInstruction());

            AbstractMachineState state = new AbstractMachineState(new AMFactory());
            state.Initialize(prog);

            AMProgram program = (AMProgram)state.Program;

            ArrayList predicateCode = new ArrayList();

            AMInstructionSet iset = new AMInstructionSet();

            // say_hello(X) :- write(X).

            predicateCode.Add(iset.CreateInstruction("bcall", "write/1"));
            predicateCode.Add(iset.CreateInstruction("proceed"));

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

            X0.Assign(new ConstantTerm("Hello, World!"));

            program.AssertFirst("say_hello", 1, predicateCode);

            Assert.IsTrue(state.Call("say_hello", 1, new object[] { "Hello man" }));
        }
All Usage Examples Of Axiom.Runtime.AbstractMachineState::Initialize