#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; \ } \ } |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|