tables.h File Reference


Defines

#define table_pending_answer(OldAnswerContinuation,NewAnswerContinuation,NextAnswer,Consumer,Producer,AnswerTemplate,PreIdentificationOp,PostIdentificationOp)
#define TPA_NoOp
#define MoreAnswersAreAvailable(ConsSF, ProdSF)

Functions

void table_call_search (CTXTdeclc TabledCallInfo *, CallLookupResults *)
BTNptr table_answer_search (CTXTdeclc VariantSF, int, int, CPtr, xsbBool *)
void table_consume_answer (CTXTdeclc BTNptr, int, int, CPtr, TIFptr)
ALNptr table_identify_relevant_answers (CTXTdeclc SubProdSF, SubConsSF, CPtr)
void table_complete_entry (CTXTdeclc VariantSF)
void release_all_tabling_resources (CTXTdecl)
VariantSF NewProducerSF (CTXTdeclc BTNptr, TIFptr)

Define Documentation

#define MoreAnswersAreAvailable ConsSF,
ProdSF   ) 
 

Value:

#define table_pending_answer OldAnswerContinuation,
NewAnswerContinuation,
NextAnswer,
Consumer,
Producer,
AnswerTemplate,
PreIdentificationOp,
PostIdentificationOp   ) 
 

Value:

{                       \
                                                                        \
   NewAnswerContinuation = ALN_Next(OldAnswerContinuation);             \
                                                                        \
   if ( IsNULL(NewAnswerContinuation) && IsProperlySubsumed(Consumer) ) \
     if ( MoreAnswersAreAvailable(Consumer,Producer) ) {                \
       /* printf("make ans list for :"); sfPrintGoal(CTXTdeclc stddbg, Consumer, FALSE); */  \
       PreIdentificationOp;                                             \
       NewAnswerContinuation =                                          \
         table_identify_relevant_answers(CTXTc Producer, Consumer,      \
                                         AnswerTemplate);               \
       PostIdentificationOp;                                            \
     }                                                                  \
   if ( IsNonNULL(NewAnswerContinuation) )                              \
     NextAnswer = ALN_Answer(NewAnswerContinuation);                    \
   else                                                                 \
     NextAnswer = NULL;                                                 \
 }

#define TPA_NoOp
 


Function Documentation

VariantSF NewProducerSF CTXTdeclc  BTNptr,
TIFptr 
[inline]
 

void release_all_tabling_resources CTXTdecl   ) 
 

BTNptr table_answer_search CTXTdeclc  VariantSF,
int  ,
int  ,
CPtr  ,
xsbBool
 

void table_call_search CTXTdeclc TabledCallInfo ,
CallLookupResults
 

void table_complete_entry CTXTdeclc  VariantSF  ) 
 

void table_consume_answer CTXTdeclc  BTNptr,
int  ,
int  ,
CPtr  ,
TIFptr 
 

ALNptr table_identify_relevant_answers CTXTdeclc  SubProdSF,
SubConsSF  ,
CPtr 
 


Generated on Wed Jul 26 13:26:54 2006 for XSB by  doxygen 1.4.5