Exemple #1
0
 internal static System.Collections.Generic.IEnumerable<CutState> Retract(object term, PrologContext context)
 {
     ELNode foundNode;
     ELNodeEnumerator enumerator;
     if (!TryQuery(term, context, out foundNode, out enumerator))
         return CutStateSequencer.Fail();
     if (foundNode != null)
     {
         foundNode.DeleteSelf();
         return CutStateSequencer.Succeed();
     }
     return DeleteSuccessive(enumerator);
 }
Exemple #2
0
        internal static IEnumerable <CutState> Retract(object term, PrologContext context)
        {
            ELNode           foundNode;
            ELNodeEnumerator enumerator;

            if (!TryQuery(term, context, out foundNode, out enumerator))
            {
                return(CutStateSequencer.Fail());
            }
            if (foundNode != null)
            {
                foundNode.DeleteSelf();
                return(CutStateSequencer.Succeed());
            }
            return(DeleteSuccessive(enumerator));
        }
Exemple #3
0
        internal IEnumerable <CutState> FindClauses(Structure head, object body)
        {
            PredicateInfo i = CheckForPredicateInfo(head.PredicateIndicator);

            return((i == null)?CutStateSequencer.Fail():i.FindClauses(head, body));
        }