tst_unify.c File Reference

#include "xsb_config.h"
#include "xsb_debug.h"
#include <stdio.h>
#include "auxlry.h"
#include "cell_xsb.h"
#include "register.h"
#include "memory_xsb.h"
#include "binding.h"
#include "psc_xsb.h"
#include "deref.h"
#include "subp.h"
#include "table_stats.h"
#include "trie_internals.h"
#include "macro_xsb.h"
#include "choice.h"
#include "tst_aux.h"
#include "tst_utils.h"
#include "error_xsb.h"

Defines

#define Bind_and_Trail_Symbol(Symbol, Subterm)
#define Bind_and_Trail_Subterm(Subterm, Symbol)
#define Bind_and_Trail_Vars(UnknownVar, PrologVar)
#define Unify_Symbol_With_Constant_Subterm(dSubterm, dSymbol)
#define Unify_Symbol_With_Functor_Subterm(dSubterm, dSymbol, SymOrigTag)
#define Unify_Symbol_With_List_Subterm(dSubterm, dSymbol, SymOrigTag)
#define Unify_Symbol_With_Variable_Subterm(dSubterm, dSymbol, SymOrigTag)

Functions

static void consumption_error (CTXTdeclc char *string)
void consume_subsumptive_answer (CTXTdeclc BTNptr pAnsLeaf, int sizeTmplt, CPtr pAnsTmplt)

Variables

static BTNptr gAnsLeaf
static CPtr gAnsTmplt
static int gSizeTmplt

Define Documentation

#define Bind_and_Trail_Subterm Subterm,
Symbol   ) 
 

Value:

{       \
   bind_ref((CPtr)Subterm,Symbol);                      \
 }

#define Bind_and_Trail_Symbol Symbol,
Subterm   ) 
 

Value:

{       \
   if (IsUnboundTrieVar(Symbol)) {              \
     Trail_Push(Symbol);                        \
     bld_ref((CPtr)Symbol,Subterm);             \
   }                                            \
   else                                         \
     Bind_and_Trail_Subterm(Symbol,Subterm)     \
 }

#define Bind_and_Trail_Vars UnknownVar,
PrologVar   ) 
 

Value:

{       \
   if (IsUnboundTrieVar(UnknownVar)) {                  \
     Trail_Push(UnknownVar)                             \
     bld_ref((CPtr)UnknownVar,PrologVar);               \
   }                                                    \
   else                                                 \
     unify(CTXTc UnknownVar,PrologVar);                 \
 }

#define Unify_Symbol_With_Constant_Subterm dSubterm,
dSymbol   ) 
 

Value:

{       \
   if (isref(dSymbol))                                          \
     Bind_and_Trail_Symbol(dSymbol,dSubterm)                    \
   else if (dSymbol != dSubterm) {                              \
     consumption_error(CTXTc "Unequal Constants");              \
     return;                                                    \
   }                                                            \
}

#define Unify_Symbol_With_Functor_Subterm dSubterm,
dSymbol,
SymOrigTag   ) 
 

#define Unify_Symbol_With_List_Subterm dSubterm,
dSymbol,
SymOrigTag   ) 
 

#define Unify_Symbol_With_Variable_Subterm dSubterm,
dSymbol,
SymOrigTag   ) 
 


Function Documentation

void consume_subsumptive_answer CTXTdeclc BTNptr  pAnsLeaf,
int  sizeTmplt,
CPtr  pAnsTmplt
 

static void consumption_error CTXTdeclc char *  string  )  [static]
 


Variable Documentation

BTNptr gAnsLeaf [static]
 

CPtr gAnsTmplt [static]
 

int gSizeTmplt [static]
 


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