Axiom.Runtime.AMProgram.AddProgramNode C# (CSharp) Метод

AddProgramNode() публичный Метод

public AddProgramNode ( ProgramNode node ) : void
node ProgramNode
Результат void
        public void AddProgramNode(ProgramNode node)
        {
            if (_program == null)
            {
                _program = node;
                _programTop = _program;
                return;
            }
            _programTop.Next = node;
            _programTop = _programTop.Next;
        }

Usage Example

        /// <summary>
        /// Call a predicate that takes no arguments
        /// </summary>
        /// <param name="predicateName">predicate name only.</param>
        /// <returns>success or failure</returns>
        public bool Call(string predicateName)
        {
            AMProgram program = (AMProgram)_program;

            AMInstructionSet iset = new AMInstructionSet();

            if (!program.IsDefined(predicateName + "/0"))
            {
                return(false);
            }

            // Add the call instruction
            program.P = new ProgramNode(iset.CreateInstruction("call", predicateName, "0"));

            program.AddProgramNode(program.P);

            // Add the halt insturction
            program.AddInstruction(iset.CreateInstruction("halt"));

            // Execute the program
            Transition();

            return(!_fail);
        }
All Usage Examples Of Axiom.Runtime.AMProgram::AddProgramNode