#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 |
|
|
Value: |
|
|
Value: { \
if (IsUnboundTrieVar(Symbol)) { \
Trail_Push(Symbol); \
bld_ref((CPtr)Symbol,Subterm); \
} \
else \
Bind_and_Trail_Subterm(Symbol,Subterm) \
}
|
|
|
Value: { \
if (IsUnboundTrieVar(UnknownVar)) { \
Trail_Push(UnknownVar) \
bld_ref((CPtr)UnknownVar,PrologVar); \
} \
else \
unify(CTXTc UnknownVar,PrologVar); \
}
|
|
|
Value: { \
if (isref(dSymbol)) \
Bind_and_Trail_Symbol(dSymbol,dSubterm) \
else if (dSymbol != dSubterm) { \
consumption_error(CTXTc "Unequal Constants"); \
return; \
} \
}
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1.4.5