Merge ssh://ssh.dcc.fc.up.pt:31064//home/vsc/yap
This commit is contained in:
commit
0d8e28af3e
@ -81,6 +81,7 @@ static bool setErr(const char *q, yap_error_descriptor_t *i, Term t) {
|
||||
set_key_b(parserReadingCode, "parserReadingcode", q, i, t);
|
||||
set_key_b(prologConsulting, "prologConsulting", q, i, t);
|
||||
set_key_s(culprit, "culprit", q, i, t);
|
||||
set_key_s(prologStack, "prologStack", q, i, t);
|
||||
set_key_s(errorMsg, "errorMsg", q, i, t);
|
||||
set_key_i(errorMsgLen, "errorMsgLen", q, i, t);
|
||||
return false;
|
||||
@ -129,7 +130,8 @@ static Term queryErr(const char *q, yap_error_descriptor_t *i) {
|
||||
query_key_s(parserFile, "parserFile", q, i);
|
||||
query_key_b(parserReadingCode, "parserReadingCode", q, i);
|
||||
query_key_b(prologConsulting, "prologConsulting", q, i);
|
||||
query_key_t(culprit, "culprit", q, i);
|
||||
query_key_s(prologStack, "prologStack", q, i);
|
||||
query_key_s(culprit, "culprit", q, i);
|
||||
query_key_s(errorMsg, "errorMsg", q, i);
|
||||
query_key_i(errorMsgLen, "errorMsgLen", q, i);
|
||||
return TermNil;
|
||||
@ -176,6 +178,7 @@ static void printErr(yap_error_descriptor_t *i) {
|
||||
print_key_b("parserReadingCode", i->parserReadingCode);
|
||||
print_key_b("prologConsulting", i->prologConsulting);
|
||||
print_key_s("culprit", i->culprit);
|
||||
print_key_s("prologStack", i->prologStack);
|
||||
if (i->errorMsgLen) {
|
||||
print_key_s("errorMsg", i->errorMsg);
|
||||
print_key_i("errorMsgLen", i->errorMsgLen);
|
||||
@ -234,6 +237,7 @@ static Term err2list(yap_error_descriptor_t *i) {
|
||||
o = add_key_b("parserReadingCode", i->parserReadingCode, o);
|
||||
o = add_key_b("prologConsulting", i->prologConsulting, o);
|
||||
o = add_key_s("culprit", i->culprit, o);
|
||||
o = add_key_s("prologStack", i->prologStack, o);
|
||||
if (i->errorMsgLen) {
|
||||
o = add_key_s("errorMsg", i->errorMsg, o);
|
||||
o = add_key_i("errorMsgLen", i->errorMsgLen, o);
|
||||
@ -858,7 +862,8 @@ yamop *Yap_Error__(bool throw, const char *file, const char *function,
|
||||
#ifdef DEBUG
|
||||
// DumpActiveGoals( USES_REGS1 );
|
||||
#endif /* DEBUG */
|
||||
|
||||
if (LOCAL_ActiveError->errorNo!= SYNTAX_ERROR)
|
||||
LOCAL_ActiveError->prologStack=Yap_dump_stack();
|
||||
CalculateStackGap(PASS_REGS1);
|
||||
#if DEBUG
|
||||
// DumpActiveGoals( PASS_REGS1 );
|
||||
|
199
C/stack.c
199
C/stack.c
@ -105,6 +105,8 @@ restart:
|
||||
return NULL;
|
||||
}
|
||||
|
||||
extern char * Yap_output_bug_location(yamop *yap_pc, int where_from, int psize);
|
||||
|
||||
static PredEntry *PredForChoicePt(yamop *p_code, op_numbers *opn) {
|
||||
while (TRUE) {
|
||||
op_numbers opnum;
|
||||
@ -656,7 +658,7 @@ static Int code_in_pred(PredEntry *pp, Atom *pat, UInt *parity,
|
||||
|
||||
PELOCK(40, pp);
|
||||
/* check if the codeptr comes from the indexing code */
|
||||
if (pp->PredFlags & IndexedPredFlag && pp->OpcodeOfPred != INDEX_OPCODE) {
|
||||
if (pp->PredFlags & IndexedPredFlag && pp->OpcodeOfPred != INDEX_OPCODE) {
|
||||
if (pp->PredFlags & LogUpdatePredFlag) {
|
||||
if (code_in_pred_lu_index(
|
||||
ClauseCodeToLogUpdIndex(pp->cs.p_code.TrueCodeOfPred), codeptr,
|
||||
@ -1702,8 +1704,6 @@ parent_pred(USES_REGS1) {
|
||||
Yap_unify(ARG2, MkAtomTerm(at)) && Yap_unify(ARG3, MkIntTerm(arity));
|
||||
}
|
||||
|
||||
void Yap_dump_stack(void);
|
||||
|
||||
void DumpActiveGoals(CACHE_TYPE1);
|
||||
|
||||
static int hidden(Atom);
|
||||
@ -1767,173 +1767,191 @@ static bool handled_exception(USES_REGS1) {
|
||||
return !found_handler;
|
||||
}
|
||||
|
||||
void Yap_dump_stack(void) {
|
||||
#define ADDBUF( CMD ) { \
|
||||
while (true) { \
|
||||
size_t sz = CMD; \
|
||||
if (sz < lbufsz-256) { \
|
||||
lbuf += sz; \
|
||||
lbufsz -= sz; \
|
||||
break; \
|
||||
} \
|
||||
char *nbuf = Realloc(buf, bufsize += 1024); \
|
||||
lbuf = nbuf + (lbuf-buf); \
|
||||
buf = nbuf; \
|
||||
lbufsz += 1024; \
|
||||
} \
|
||||
}
|
||||
|
||||
const char *Yap_dump_stack(void) {
|
||||
CACHE_REGS
|
||||
choiceptr b_ptr = B;
|
||||
CELL *env_ptr = ENV;
|
||||
char tp[256];
|
||||
char *tp;
|
||||
yamop *ipc = CP;
|
||||
int max_count = 200;
|
||||
|
||||
int lvl = push_text_stack();
|
||||
char *buf = Malloc(4096), *lbuf = buf;
|
||||
size_t bufsize = 4096, lbufsz = bufsize-256;
|
||||
/* check if handled */
|
||||
//if (handled_exception(PASS_REGS1))
|
||||
// if (handled_exception(PASS_REGS1))
|
||||
// return;
|
||||
#if DEBUG
|
||||
fprintf(stderr, "%% YAP regs: P=%p, CP=%p, ASP=%p, H=%p, TR=%p, HeapTop=%p\n",
|
||||
P, CP, ASP, HR, TR, HeapTop);
|
||||
#endif
|
||||
ADDBUF(snprintf(lbuf, lbufsz ,
|
||||
"%% YAP regs: P=%p, CP=%p, ASP=%p, H=%p, TR=%p, HeapTop=%p~n", P,
|
||||
CP, ASP, HR, TR, HeapTop));
|
||||
|
||||
fprintf(stderr, "%% \n%% =====================================\n%%\n");
|
||||
fprintf(stderr, "%% \n%% YAP Status:\n");
|
||||
fprintf(stderr, "%% \n%% -------------------------------------\n%%\n");
|
||||
ADDBUF(snprintf(lbuf, lbufsz , "%% ~n%% =====================================~n%%~n"));
|
||||
ADDBUF(snprintf(lbuf, lbufsz , "%% ~n%% YAP Status:~n"));
|
||||
ADDBUF(snprintf(lbuf, lbufsz , "%% ~n%% -------------------------------------~n%%~n"));
|
||||
yap_error_number errnbr = LOCAL_Error_TYPE;
|
||||
yap_error_class_number classno = Yap_errorClass(errnbr);
|
||||
|
||||
fprintf(stderr, "%% Error STATUS: %s/%s\n\n", Yap_errorName(errnbr),
|
||||
Yap_errorClassName(classno));
|
||||
ADDBUF(snprintf(lbuf, lbufsz , "%% Error STATUS: %s/%s~n~n", Yap_errorName(errnbr),
|
||||
Yap_errorClassName(classno)));
|
||||
|
||||
fprintf(stderr, "%% Execution mode\n");
|
||||
ADDBUF(snprintf(lbuf, lbufsz , "%% Execution mode~n"));
|
||||
if (LOCAL_PrologMode & BootMode)
|
||||
fprintf(stderr, "%% Bootstrap\n");
|
||||
ADDBUF(snprintf(lbuf, lbufsz , "%% Bootstrap~n"));
|
||||
if (LOCAL_PrologMode & UserMode)
|
||||
fprintf(stderr, "%% User Prolo\n");
|
||||
ADDBUF(snprintf(lbuf, lbufsz , "%% User Prolo~n"));
|
||||
if (LOCAL_PrologMode & CritMode)
|
||||
fprintf(stderr, "%% Exclusive Access Mode\n");
|
||||
ADDBUF(snprintf(lbuf, lbufsz , "%% Exclusive Access Mode~n"));
|
||||
if (LOCAL_PrologMode & AbortMode)
|
||||
fprintf(stderr, "%% Abort\n");
|
||||
ADDBUF(snprintf(lbuf, lbufsz , "%% Abort~n"));
|
||||
if (LOCAL_PrologMode & InterruptMode)
|
||||
fprintf(stderr, "%% Interrupt\n");
|
||||
ADDBUF(snprintf(lbuf, lbufsz , "%% Interrupt~n"));
|
||||
if (LOCAL_PrologMode & InErrorMode)
|
||||
fprintf(stderr, "%% Error\n");
|
||||
ADDBUF(snprintf(lbuf, lbufsz , "%% Error~n"));
|
||||
if (LOCAL_PrologMode & ConsoleGetcMode)
|
||||
fprintf(stderr, "%% Prompt Console\n");
|
||||
ADDBUF(snprintf(lbuf, lbufsz , "%% Prompt Console~n"));
|
||||
if (LOCAL_PrologMode & ExtendStackMode)
|
||||
fprintf(stderr, "%% Stack expansion \n");
|
||||
ADDBUF(snprintf(lbuf, lbufsz , "%% Stack expansion ~n"));
|
||||
if (LOCAL_PrologMode & GrowHeapMode)
|
||||
fprintf(stderr, "%% Data Base Expansion\n");
|
||||
ADDBUF(snprintf(lbuf, lbufsz , "%% Data Base Expansion~n"));
|
||||
if (LOCAL_PrologMode & GrowStackMode)
|
||||
fprintf(stderr, "%% User Prolog\n");
|
||||
ADDBUF(snprintf(lbuf, lbufsz , "%% User Prolog~n"));
|
||||
if (LOCAL_PrologMode & GCMode)
|
||||
fprintf(stderr, "%% Garbage Collection\n");
|
||||
ADDBUF(snprintf(lbuf, lbufsz , "%% Garbage Collection~n"));
|
||||
if (LOCAL_PrologMode & ErrorHandlingMode)
|
||||
fprintf(stderr, "%% Error handler\n");
|
||||
ADDBUF(snprintf(lbuf, lbufsz , "%% Error handler~n"));
|
||||
if (LOCAL_PrologMode & CCallMode)
|
||||
fprintf(stderr, "%% System Foreign Code\n");
|
||||
ADDBUF(snprintf(lbuf, lbufsz , "%% System Foreign Code~n"));
|
||||
if (LOCAL_PrologMode & UnifyMode)
|
||||
fprintf(stderr, "%% Off-line Foreign Code\n");
|
||||
ADDBUF(snprintf(lbuf, lbufsz , "%% Off-line Foreign Code~n"));
|
||||
if (LOCAL_PrologMode & UserCCallMode)
|
||||
fprintf(stderr, "%% User Foreig C\n");
|
||||
ADDBUF(snprintf(lbuf, lbufsz , "%% User Foreig C~n"));
|
||||
if (LOCAL_PrologMode & MallocMode)
|
||||
fprintf(stderr, "%% Heap Allocaror\n");
|
||||
ADDBUF(snprintf(lbuf, lbufsz , "%% Heap Allocaror~n"));
|
||||
if (LOCAL_PrologMode & SystemMode)
|
||||
fprintf(stderr, "%% Prolog Internals\n");
|
||||
ADDBUF(snprintf(lbuf, lbufsz , "%% Prolog Internals~n"));
|
||||
if (LOCAL_PrologMode & AsyncIntMode)
|
||||
fprintf(stderr, "%% Async Interruot mode\n");
|
||||
ADDBUF(snprintf(lbuf, lbufsz , "%% Async Interruot mode~n"));
|
||||
if (LOCAL_PrologMode & InReadlineMode)
|
||||
fprintf(stderr, "%% Readline Console\n");
|
||||
ADDBUF(snprintf(lbuf, lbufsz , "%% Readline Console~n"));
|
||||
if (LOCAL_PrologMode & TopGoalMode)
|
||||
fprintf(stderr, "%% Creating new query\n");
|
||||
fprintf(stderr, "%% \n%% -------------------------------------\n%%\n");
|
||||
fprintf(stderr, "%% \n%% YAP Program:\n");
|
||||
fprintf(stderr, "%% \n%% -------------------------------------\n%%\n");
|
||||
fprintf(stderr, "%% Program Position: %s\n\n", Yap_errorName(errno) );
|
||||
fprintf(stderr, "%% PC: %s\n", (char *)HR);
|
||||
ADDBUF(snprintf(lbuf, lbufsz , "%% Creating new query~n"));
|
||||
#endif
|
||||
ADDBUF(snprintf(lbuf, lbufsz , "%% ~n%% -------------------------------------~n%%~n"));
|
||||
ADDBUF(snprintf(lbuf, lbufsz , "%% ~n%% YAP Program:~n"));
|
||||
ADDBUF(snprintf(lbuf, lbufsz , "%% ~n%% -------------------------------------~n%%~n"));
|
||||
ADDBUF(snprintf(lbuf, lbufsz , "%% Program Position: %s~n~n", Yap_errorName(errno)));
|
||||
ADDBUF(snprintf(lbuf, lbufsz , "%% PC: %s~n", (char *)HR));
|
||||
Yap_output_bug_location(CP, FIND_PRED_FROM_ANYWHERE, 256);
|
||||
fprintf(stderr, "%% Continuation: %s\n", (char *)HR);
|
||||
ADDBUF(snprintf(lbuf, lbufsz , "%% Continuation: %s~n", (char *)HR));
|
||||
Yap_output_bug_location(B->cp_ap, FIND_PRED_FROM_ANYWHERE, 256);
|
||||
fprintf(stderr, "%% Alternative: %s\n", (char *)HR);
|
||||
ADDBUF(snprintf(lbuf, lbufsz , "%% Alternative: %s~n", (char *)HR));
|
||||
|
||||
fprintf(stderr, "%% \n%% -------------------------------------\n%%\n");
|
||||
fprintf(stderr, "%% \n%% YAP Stack Usage:\n");
|
||||
fprintf(stderr, "%% \n%% -------------------------------------\n%%\n");
|
||||
ADDBUF(snprintf(lbuf, lbufsz , "%% ~n%% -------------------------------------~n%%~n"));
|
||||
ADDBUF(snprintf(lbuf, lbufsz , "%% ~n%% YAP Stack Usage:~n"));
|
||||
ADDBUF(snprintf(lbuf, lbufsz , "%% ~n%% -------------------------------------~n%%~n"));
|
||||
if (HR > ASP || HR > LCL0) {
|
||||
fprintf(stderr, "%% YAP ERROR: Global Collided against Local (%p--%p)\n",
|
||||
HR, ASP);
|
||||
ADDBUF(snprintf(lbuf, lbufsz , "%% YAP ERROR: Global Collided against Local (%p--%p)~n",
|
||||
HR, ASP));
|
||||
} else if (HeapTop > (ADDR)LOCAL_GlobalBase) {
|
||||
fprintf(stderr,
|
||||
"%% YAP ERROR: Code Space Collided against Global (%p--%p)\n",
|
||||
HeapTop, LOCAL_GlobalBase);
|
||||
ADDBUF(snprintf(lbuf, lbufsz ,
|
||||
"%% YAP ERROR: Code Space Collided against Global (%p--%p)~n",
|
||||
HeapTop, LOCAL_GlobalBase));
|
||||
} else {
|
||||
#if !USE_SYSTEM_MALLOC
|
||||
fprintf(stderr, "%%ldKB of Code Space (%p--%p)\n",
|
||||
ADDBUF(snprintf(lbuf, lbufsz , "%%ldKB of Code Space (%p--%p)~n",
|
||||
(long int)((CELL)HeapTop - (CELL)Yap_HeapBase) / 1024, Yap_HeapBase,
|
||||
HeapTop);
|
||||
HeapTop));
|
||||
#if USE_DL_MALLOC
|
||||
if (Yap_NOfMemoryHoles) {
|
||||
UInt i;
|
||||
|
||||
for (i = 0; i < Yap_NOfMemoryHoles; i++)
|
||||
fprintf(stderr, " Current hole: %p--%p\n", Yap_MemoryHoles[i].start,
|
||||
Yap_MemoryHoles[i].end);
|
||||
ADDBUF(snprintf(lbuf, lbufsz , " Current hole: %p--%p~n", Yap_MemoryHoles[i].start,
|
||||
Yap_MemoryHoles[i].end));
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
fprintf(stderr, "%% %luKB of Global Stack (%p--%p)\n",
|
||||
(unsigned long int)(sizeof(CELL) * (HR - H0)) / 1024, H0, HR);
|
||||
fprintf(stderr, "%% %luKB of Local Stack (%p--%p)\n",
|
||||
(unsigned long int)(sizeof(CELL) * (LCL0 - ASP)) / 1024, ASP, LCL0);
|
||||
fprintf(stderr, "%% %luKB of Trail (%p--%p)\n",
|
||||
ADDBUF(snprintf(lbuf, lbufsz , "%% %luKB of Global Stack (%p--%p)~n",
|
||||
(unsigned long int)(sizeof(CELL) * (HR - H0)) / 1024, H0, HR));
|
||||
ADDBUF(snprintf(lbuf, lbufsz , "%% %luKB of Local Stack (%p--%p)~n",
|
||||
(unsigned long int)(sizeof(CELL) * (LCL0 - ASP)) / 1024, ASP, LCL0));
|
||||
ADDBUF(snprintf(lbuf, lbufsz , "%% %luKB of Trail (%p--%p)~n",
|
||||
(unsigned long int)((ADDR)TR - LOCAL_TrailBase) / 1024,
|
||||
LOCAL_TrailBase, TR);
|
||||
fprintf(stderr, "%% Performed %ld garbage collections\n",
|
||||
(unsigned long int)LOCAL_GcCalls);
|
||||
LOCAL_TrailBase, TR));
|
||||
ADDBUF(snprintf(lbuf, lbufsz , "%% Performed %ld garbage collections~n",
|
||||
(unsigned long int)LOCAL_GcCalls));
|
||||
#if LOW_LEVEL_TRACER
|
||||
{
|
||||
extern long long vsc_count;
|
||||
|
||||
if (vsc_count) {
|
||||
#if _WIN32
|
||||
fprintf(stderr, "Trace Counter at %I64d\n", vsc_count);
|
||||
ADDBUF(snprintf(lbuf, lbufsz , "Trace Counter at %I64d~n", vsc_count));
|
||||
#else
|
||||
fprintf(stderr, "Trace Counter at %lld\n", vsc_count);
|
||||
ADDBUF(snprintf(lbuf, lbufsz , "Trace Counter at %lld~n", vsc_count));
|
||||
#endif
|
||||
}
|
||||
}
|
||||
#endif
|
||||
fprintf(stderr, "%% \n%% -------------------------------------\n%%\n");
|
||||
fprintf(stderr, "%% \n%% YAP Stack:\n");
|
||||
fprintf(stderr, "%% \n%% -------------------------------------\n%%\n");
|
||||
fprintf(stderr, "%% All Active Calls and\n");
|
||||
fprintf(stderr, "%% Goals With Alternatives Open (Global In "
|
||||
"Use--Local In Use)\n%%\n");
|
||||
ADDBUF(snprintf(lbuf, lbufsz , "%% ~n%% -------------------------------------~n%%~n"));
|
||||
ADDBUF(snprintf(lbuf, lbufsz , "%% ~n%% YAP Stack:~n"));
|
||||
ADDBUF(snprintf(lbuf, lbufsz , "%% ~n%% -------------------------------------~n%%~n"));
|
||||
ADDBUF(snprintf(lbuf, lbufsz , "%% All Active Calls and~n"));
|
||||
ADDBUF(snprintf(lbuf, lbufsz , "%% Goals With Alternatives Open (Global In "
|
||||
"Use--Local In Use)~n%%~n"));
|
||||
while (b_ptr != NULL) {
|
||||
while (env_ptr && env_ptr <= (CELL *)b_ptr) {
|
||||
Yap_output_bug_location(ipc, FIND_PRED_FROM_ENV, 256);
|
||||
tp = Yap_output_bug_location(ipc, FIND_PRED_FROM_ENV, 256);
|
||||
if (env_ptr == (CELL *)b_ptr && (choiceptr)env_ptr[E_CB] > b_ptr) {
|
||||
b_ptr = b_ptr->cp_b;
|
||||
fprintf(stderr, "%% %s\n", tp);
|
||||
ADDBUF(snprintf(lbuf, lbufsz , "%% %s~n", tp));
|
||||
} else {
|
||||
fprintf(stderr, "%% %s\n", tp);
|
||||
ADDBUF(snprintf(lbuf, lbufsz , "%% %s~n", tp));
|
||||
}
|
||||
if (!max_count--) {
|
||||
fprintf(stderr, "%% .....\n");
|
||||
return;
|
||||
ADDBUF(snprintf(lbuf, lbufsz , "%% .....~n"));
|
||||
return pop_output_text_stack(lvl, lbuf);
|
||||
}
|
||||
ipc = (yamop *)(env_ptr[E_CP]);
|
||||
env_ptr = (CELL *)(env_ptr[E_E]);
|
||||
}
|
||||
if (b_ptr) {
|
||||
if (!max_count--) {
|
||||
fprintf(stderr, "// .....\n");
|
||||
return;
|
||||
ADDBUF(snprintf(lbuf, lbufsz , "// .....~n"));
|
||||
return pop_output_text_stack(lvl, lbuf);
|
||||
}
|
||||
if (b_ptr->cp_ap && /* tabling */
|
||||
b_ptr->cp_ap->opc != Yap_opcode(_or_else) &&
|
||||
b_ptr->cp_ap->opc != Yap_opcode(_or_last) &&
|
||||
b_ptr->cp_ap->opc != Yap_opcode(_Nstop)) {
|
||||
/* we can safely ignore ; because there is always an upper env */
|
||||
Yap_output_bug_location(b_ptr->cp_ap, FIND_PRED_FROM_CP, 256);
|
||||
fprintf(stderr, "%% %s (%luKB--%luKB)\n", tp,
|
||||
tp = Yap_output_bug_location(b_ptr->cp_ap, FIND_PRED_FROM_CP, 256);
|
||||
ADDBUF(snprintf(lbuf, lbufsz , "%% %s (%luKB--%luKB)~n", tp,
|
||||
(unsigned long int)((b_ptr->cp_h - H0) * sizeof(CELL) / 1024),
|
||||
(unsigned long int)((ADDR)LCL0 - (ADDR)b_ptr) / 1024);
|
||||
(unsigned long int)((ADDR)LCL0 - (ADDR)b_ptr) / 1024));
|
||||
}
|
||||
b_ptr = b_ptr->cp_b;
|
||||
}
|
||||
}
|
||||
}
|
||||
return pop_output_text_stack(lvl, lbuf);
|
||||
}
|
||||
|
||||
|
||||
void DumpActiveGoals(USES_REGS1) {
|
||||
/* try to dump active goals */
|
||||
CELL *ep = YENV; /* and current environment */
|
||||
@ -2047,7 +2065,7 @@ void DumpActiveGoals(USES_REGS1) {
|
||||
if (i > 0)
|
||||
fputc(',', stderr);
|
||||
fputc('_', stderr);
|
||||
}
|
||||
}
|
||||
fputs(") :- ... ( _ ; _ ", stderr);
|
||||
} else {
|
||||
Term *args = &(b_ptr->cp_a1);
|
||||
@ -2068,33 +2086,34 @@ void DumpActiveGoals(USES_REGS1) {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Used for debugging.
|
||||
*
|
||||
*
|
||||
*/
|
||||
void Yap_output_bug_location(yamop *yap_pc, int where_from, int psize) {
|
||||
char * Yap_output_bug_location(yamop *yap_pc, int where_from, int psize) {
|
||||
Atom pred_name;
|
||||
UInt pred_arity;
|
||||
Term pred_module;
|
||||
Int cl;
|
||||
|
||||
char *o = Malloc(256);
|
||||
if ((cl = Yap_PredForCode(yap_pc, where_from, &pred_name, &pred_arity,
|
||||
&pred_module)) == 0) {
|
||||
/* system predicate */
|
||||
fprintf(stderr, "%% %s", "meta-call");
|
||||
snprintf(o, 255, "%% %s", "meta-call");
|
||||
} else if (pred_module == 0) {
|
||||
fprintf(stderr, "in prolog:%s/%lu", RepAtom(pred_name)->StrOfAE,
|
||||
snprintf(o, 255, "in prolog:%s/%lu", RepAtom(pred_name)->StrOfAE,
|
||||
(unsigned long int)pred_arity);
|
||||
} else if (cl < 0) {
|
||||
fprintf(stderr, "%% %s:%s/%lu", RepAtom(AtomOfTerm(pred_module))->StrOfAE,
|
||||
snprintf(o, 255, "%% %s:%s/%lu", RepAtom(AtomOfTerm(pred_module))->StrOfAE,
|
||||
RepAtom(pred_name)->StrOfAE, (unsigned long int)pred_arity);
|
||||
} else {
|
||||
fprintf(stderr, "%% %s:%s/%lu at clause %lu",
|
||||
snprintf(o, 255, "%% %s:%s/%lu at clause %lu",
|
||||
RepAtom(AtomOfTerm(pred_module))->StrOfAE,
|
||||
RepAtom(pred_name)->StrOfAE, (unsigned long int)pred_arity,
|
||||
(unsigned long int)cl);
|
||||
}
|
||||
return o;
|
||||
}
|
||||
|
||||
static yap_error_descriptor_t *add_bug_location(yap_error_descriptor_t *p,
|
||||
|
91
C/write.c
91
C/write.c
@ -100,10 +100,11 @@ static bool callPortray(Term t, int sno USES_REGS) {
|
||||
return false;
|
||||
}
|
||||
|
||||
#define PROTECT(t,F) { \
|
||||
yhandle_t yt = Yap_InitHandle(t); \
|
||||
F; \
|
||||
t = Yap_PopHandle(yt); \
|
||||
#define PROTECT(t, F) \
|
||||
{ \
|
||||
yhandle_t yt = Yap_InitHandle(t); \
|
||||
F; \
|
||||
t = Yap_PopHandle(yt); \
|
||||
}
|
||||
static void wrputn(Int, struct write_globs *);
|
||||
static void wrputf(Float, struct write_globs *);
|
||||
@ -700,9 +701,9 @@ static void write_var(CELL *t, struct write_globs *wglb,
|
||||
wrputs("$AT(", wglb->stream);
|
||||
write_var(t, wglb, rwt);
|
||||
wrputc(',', wglb->stream);
|
||||
PROTECT(*t,writeTerm(*l, 999, 1, FALSE, wglb, &nrwt));
|
||||
attv = RepAttVar(t);
|
||||
wrputc(',', wglb->stream);
|
||||
PROTECT(*t, writeTerm(*l, 999, 1, FALSE, wglb, &nrwt));
|
||||
attv = RepAttVar(t);
|
||||
wrputc(',', wglb->stream);
|
||||
l++;
|
||||
writeTerm(*l, 999, 1, FALSE, wglb, &nrwt);
|
||||
wrclose_bracket(wglb, TRUE);
|
||||
@ -717,7 +718,6 @@ static void write_var(CELL *t, struct write_globs *wglb,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static void write_list(Term t, int direction, int depth,
|
||||
struct write_globs *wglb, struct rewind_term *rwt) {
|
||||
Term ti;
|
||||
@ -729,8 +729,7 @@ static void write_list(Term t, int direction, int depth,
|
||||
int ndirection;
|
||||
int do_jump;
|
||||
|
||||
PROTECT(t,writeTerm(HeadOfTerm(t), 999, depth + 1, FALSE,
|
||||
wglb, &nrwt));
|
||||
PROTECT(t, writeTerm(HeadOfTerm(t), 999, depth + 1, FALSE, wglb, &nrwt));
|
||||
ti = TailOfTerm(t);
|
||||
if (IsVarTerm(ti))
|
||||
break;
|
||||
@ -766,17 +765,16 @@ static void write_list(Term t, int direction, int depth,
|
||||
}
|
||||
if (IsPairTerm(ti)) {
|
||||
/* we found an infinite loop */
|
||||
/* keep going on the list */
|
||||
wrputc(',', wglb->stream);
|
||||
write_list(ti, direction, depth, wglb, &nrwt);
|
||||
/* keep going on the list */
|
||||
wrputc(',', wglb->stream);
|
||||
write_list(ti, direction, depth, wglb, &nrwt);
|
||||
} else if (ti != MkAtomTerm(AtomNil)) {
|
||||
if (lastw == symbol || lastw == separator) {
|
||||
wrputc(' ', wglb->stream);
|
||||
}
|
||||
wrputc('|', wglb->stream);
|
||||
lastw = separator;
|
||||
writeTerm(ti, 999, depth, FALSE,
|
||||
wglb, &nrwt);
|
||||
writeTerm(ti, 999, depth, FALSE, wglb, &nrwt);
|
||||
}
|
||||
}
|
||||
|
||||
@ -807,11 +805,9 @@ static void writeTerm(Term t, int p, int depth, int rinfixarg,
|
||||
wrputs("'.'(", wglb->stream);
|
||||
lastw = separator;
|
||||
|
||||
PROTECT( t, writeTerm(HeadOfTerm(t), 999, depth + 1, FALSE,
|
||||
wglb, &nrwt));
|
||||
PROTECT(t, writeTerm(HeadOfTerm(t), 999, depth + 1, FALSE, wglb, &nrwt));
|
||||
wrputs(",", wglb->stream);
|
||||
writeTerm(TailOfTerm(t), 999, depth + 1,
|
||||
FALSE, wglb, &nrwt);
|
||||
writeTerm(TailOfTerm(t), 999, depth + 1, FALSE, wglb, &nrwt);
|
||||
wrclose_bracket(wglb, TRUE);
|
||||
return;
|
||||
}
|
||||
@ -877,8 +873,7 @@ static void writeTerm(Term t, int p, int depth, int rinfixarg,
|
||||
*p++;
|
||||
lastw = separator;
|
||||
/* cannot use the term directly with the SBA */
|
||||
PROTECT( t, writeTerm(*p, 999, depth + 1, FALSE, wglb,
|
||||
&nrwt) );
|
||||
PROTECT(t, writeTerm(*p, 999, depth + 1, FALSE, wglb, &nrwt));
|
||||
if (*p)
|
||||
wrputc(',', wglb->stream);
|
||||
argno++;
|
||||
@ -906,8 +901,7 @@ static void writeTerm(Term t, int p, int depth, int rinfixarg,
|
||||
} else if (atom == AtomMinus) {
|
||||
last_minus = TRUE;
|
||||
}
|
||||
writeTerm(tright, rp, depth + 1, TRUE,
|
||||
wglb, &nrwt);
|
||||
writeTerm(tright, rp, depth + 1, TRUE, wglb, &nrwt);
|
||||
if (bracket_right) {
|
||||
wrclose_bracket(wglb, TRUE);
|
||||
}
|
||||
@ -940,8 +934,7 @@ static void writeTerm(Term t, int p, int depth, int rinfixarg,
|
||||
if (bracket_left) {
|
||||
wropen_bracket(wglb, TRUE);
|
||||
}
|
||||
writeTerm(ArgOfTerm(offset,t), lp, depth + 1,
|
||||
rinfixarg, wglb, &nrwt);
|
||||
writeTerm(ArgOfTerm(offset, t), lp, depth + 1, rinfixarg, wglb, &nrwt);
|
||||
if (bracket_left) {
|
||||
wrclose_bracket(wglb, TRUE);
|
||||
}
|
||||
@ -986,8 +979,8 @@ static void writeTerm(Term t, int p, int depth, int rinfixarg,
|
||||
if (bracket_left) {
|
||||
wropen_bracket(wglb, TRUE);
|
||||
}
|
||||
PROTECT(t,writeTerm(ArgOfTerm(1,t), lp, depth + 1,
|
||||
rinfixarg, wglb, &nrwt));
|
||||
PROTECT(
|
||||
t, writeTerm(ArgOfTerm(1, t), lp, depth + 1, rinfixarg, wglb, &nrwt));
|
||||
if (bracket_left) {
|
||||
wrclose_bracket(wglb, TRUE);
|
||||
}
|
||||
@ -1006,8 +999,7 @@ static void writeTerm(Term t, int p, int depth, int rinfixarg,
|
||||
if (bracket_right) {
|
||||
wropen_bracket(wglb, TRUE);
|
||||
}
|
||||
writeTerm(ArgOfTerm(2,t), rp, depth + 1, TRUE,
|
||||
wglb, &nrwt);
|
||||
writeTerm(ArgOfTerm(2, t), rp, depth + 1, TRUE, wglb, &nrwt);
|
||||
if (bracket_right) {
|
||||
wrclose_bracket(wglb, TRUE);
|
||||
}
|
||||
@ -1047,15 +1039,14 @@ static void writeTerm(Term t, int p, int depth, int rinfixarg,
|
||||
} else {
|
||||
wrputs("'$VAR'(", wglb->stream);
|
||||
lastw = separator;
|
||||
writeTerm(ArgOfTerm(1, t), 999, depth + 1,
|
||||
FALSE, wglb, &nrwt);
|
||||
writeTerm(ArgOfTerm(1, t), 999, depth + 1, FALSE, wglb, &nrwt);
|
||||
wrclose_bracket(wglb, TRUE);
|
||||
}
|
||||
} else if (!wglb->Ignore_ops && functor == FunctorBraces) {
|
||||
wrputc('{', wglb->stream);
|
||||
lastw = separator;
|
||||
writeTerm(ArgOfTerm(1, t), GLOBAL_MaxPriority,
|
||||
depth + 1, FALSE, wglb, &nrwt);
|
||||
writeTerm(ArgOfTerm(1, t), GLOBAL_MaxPriority, depth + 1, FALSE, wglb,
|
||||
&nrwt);
|
||||
wrputc('}', wglb->stream);
|
||||
lastw = separator;
|
||||
} else if (atom == AtomArray) {
|
||||
@ -1066,17 +1057,15 @@ static void writeTerm(Term t, int p, int depth, int rinfixarg,
|
||||
wrputs("...", wglb->stream);
|
||||
break;
|
||||
}
|
||||
writeTerm(ArgOfTerm(op, t), 999, depth + 1,
|
||||
FALSE, wglb, &nrwt);
|
||||
writeTerm(ArgOfTerm(op, t), 999, depth + 1, FALSE, wglb, &nrwt);
|
||||
if (op != Arity) {
|
||||
PROTECT(t, writeTerm(ArgOfTerm(op, t), 999, depth + 1,
|
||||
FALSE, wglb, &nrwt));
|
||||
PROTECT(t, writeTerm(ArgOfTerm(op, t), 999, depth + 1, FALSE, wglb,
|
||||
&nrwt));
|
||||
wrputc(',', wglb->stream);
|
||||
lastw = separator;
|
||||
}
|
||||
}
|
||||
writeTerm(ArgOfTerm(op, t), 999, depth + 1,
|
||||
FALSE, wglb, &nrwt);
|
||||
writeTerm(ArgOfTerm(op, t), 999, depth + 1, FALSE, wglb, &nrwt);
|
||||
wrputc('}', wglb->stream);
|
||||
lastw = separator;
|
||||
} else {
|
||||
@ -1090,13 +1079,12 @@ static void writeTerm(Term t, int p, int depth, int rinfixarg,
|
||||
wrputc('.', wglb->stream);
|
||||
break;
|
||||
}
|
||||
PROTECT(t,writeTerm(ArgOfTerm(op, t), 999, depth + 1,
|
||||
FALSE, wglb, &nrwt));
|
||||
wrputc(',', wglb->stream);
|
||||
lastw = separator;
|
||||
PROTECT(
|
||||
t, writeTerm(ArgOfTerm(op, t), 999, depth + 1, FALSE, wglb, &nrwt));
|
||||
wrputc(',', wglb->stream);
|
||||
lastw = separator;
|
||||
}
|
||||
writeTerm(ArgOfTerm(op, t), 999, depth + 1,
|
||||
FALSE, wglb, &nrwt);
|
||||
writeTerm(ArgOfTerm(op, t), 999, depth + 1, FALSE, wglb, &nrwt);
|
||||
wrclose_bracket(wglb, TRUE);
|
||||
}
|
||||
}
|
||||
@ -1138,14 +1126,14 @@ void Yap_plwrite(Term t, StreamDesc *mywrite, int max_depth, int flags,
|
||||
wglb.Write_strings = flags & BackQuote_String_f;
|
||||
if (!(flags & Ignore_cyclics_f) && false) {
|
||||
Term ts[2];
|
||||
ts[0] = Yap_BreakRational(t, 0, ts+1, TermNil PASS_REGS);
|
||||
//fprintf(stderr, "%lx %lx %lx\n", t, ts[0], ts[1]);
|
||||
//Yap_DebugPlWriteln(ts[0]);
|
||||
//ap_DebugPlWriteln(ts[1[);
|
||||
ts[0] = Yap_BreakRational(t, 0, ts + 1, TermNil PASS_REGS);
|
||||
// fprintf(stderr, "%lx %lx %lx\n", t, ts[0], ts[1]);
|
||||
// Yap_DebugPlWriteln(ts[0]);
|
||||
// ap_DebugPlWriteln(ts[1[);
|
||||
if (ts[1] != TermNil) {
|
||||
t = Yap_MkApplTerm( FunctorAtSymbol, 2, ts);
|
||||
t = Yap_MkApplTerm(FunctorAtSymbol, 2, ts);
|
||||
}
|
||||
}
|
||||
}
|
||||
/* protect slots for portray */
|
||||
writeTerm(t, priority, 1, FALSE, &wglb, &rwt);
|
||||
if (flags & New_Line_f) {
|
||||
@ -1164,4 +1152,3 @@ void Yap_plwrite(Term t, StreamDesc *mywrite, int max_depth, int flags,
|
||||
Yap_CloseSlots(sls);
|
||||
pop_text_stack(lvl);
|
||||
}
|
||||
|
||||
|
127
CMakeLists.txt
127
CMakeLists.txt
@ -88,34 +88,71 @@ option(WITH_READLINE "use readline or libedit" ON)
|
||||
option(WITH_JIT "just in Time Clause Compilation" OFF)
|
||||
|
||||
if (APPLE)
|
||||
set(MACOSX_RPATH ON)
|
||||
|
||||
option(WITH_BREW "brew" ON)
|
||||
if (not WITH_BREW)
|
||||
option(WITH_MACPORTS "mac-ports" ON)
|
||||
if (WITH_BREW)
|
||||
EXECUTE_PROCESS(COMMAND brew --prefix RESULT_VARIABLE DETECT_BREW OUTPUT_VARIABLE BREW_PREFIX ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
|
||||
IF (${DETECT_BREW} EQUAL 0)
|
||||
|
||||
# "/opt/local" is where MacPorts lives, add `/lib` suffix and link
|
||||
LINK_DIRECTORIES( ${BREW_PREFIX}/lib)
|
||||
|
||||
list(INSERT CMAKE_PREFIX_PATH pos
|
||||
${BREW_PREFIX}/opt/gmp
|
||||
${BREW_PREFIX}/opt/libxml2
|
||||
${BREW_PREFIX}/opt/openmpi
|
||||
${BREW_PREFIX}/opt/openssl
|
||||
${BREW_PREFIX}/opt/postgresql
|
||||
${BREW_PREFIX}/opt/python3
|
||||
${BREW_PREFIX}/opt/readline
|
||||
${BREW_PREFIX}/opt/swig
|
||||
)
|
||||
else()
|
||||
option(WITH_MACPORTS "mac-ports" ON)
|
||||
if (WITH_MACPORTS)
|
||||
# Add MacPorts
|
||||
# Detect if the "port" command is valid on this system; if so, return full path
|
||||
EXECUTE_PROCESS(COMMAND which port RESULT_VARIABLE DETECT_MACPORTS OUTPUT_VARIABLE MACPORTS_PREFIX ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
|
||||
IF (${DETECT_MACPORTS} EQUAL 0)
|
||||
# "/opt/local/bin/port" doesn't have libs, so we get the parent directory
|
||||
GET_FILENAME_COMPONENT(MACPORTS_PREFIX ${MACPORTS_PREFIX} DIRECTORY)
|
||||
|
||||
# "/opt/local/bin" doesn't have libs, so we get the parent directory
|
||||
GET_FILENAME_COMPONENT(MACPORTS_PREFIX ${MACPORTS_PREFIX} DIRECTORY)
|
||||
|
||||
# "/opt/local" is where MacPorts lives, add `/lib` suffix and link
|
||||
LINK_DIRECTORIES(${LINK DIRECTORIES} ${MACPORTS_PREFIX}/lib)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
option (WITH_EXTENSIONS "packages and libraries that add value to YAP" ON)
|
||||
option (WITH_PACKAGES "packages and liaries that add value to YAP" ON)
|
||||
|
||||
OPTION(WITH_MYDDAS " Enable MYDDAS driver" ${WITH_EXTENSIONS})
|
||||
OPTION(WITH_MYDDAS " Enable MYDDAS driver" ${WITH_PACKAGES})
|
||||
OPTION(WITH_SQLITE3 " Enable MYDDAS SQLITE3 driver" ${WITH_MYDDAS})
|
||||
OPTION(WITH_MYSQL " Enable MYDDAS MYSQL driver" ${WITH_MYDDAS})
|
||||
OPTION(WITH_ODBC " Enable MYDDAS ODBC driver" ${WITH_MYDDAS})
|
||||
OPTION(WITH_POSTGRES " Enable MYDDAS POSTGRES driver" ${WITH_MYDDAS})
|
||||
OPTION(WITH_SQLITE3 " Enable MYDDAS SQLITE3 driver" ${WITH_MYDDAS})
|
||||
OPTION(WITH_SWIG " Enable SWIG interfaces to foreign languages" ${WITH_EXTENSIONS})
|
||||
OPTION(WITH_RAPTOR " Enable the RAPTOR RDF library" ${WITH_EXTENSIONS})
|
||||
OPTION(WITH_XML2 " Enable the RAPTOR XML2 library" ${WITH_EXTENSIONS})
|
||||
OPTION(WITH_XML " Enable the Prolog XML library" ${WITH_EXTENSIONS})
|
||||
OPTION(WITH_CLPBN" Enable the CLPBN and PFL probabilistic languages" ${WITH_EXTENSIONS})
|
||||
OPTION(WITH_SWIG " Enable SWIG interfaces to foreign languages" ${WITH_PACKAGES})
|
||||
OPTION(WITH_RAPTOR " Enable the RAPTOR RDF library" ${WITH_PACKAGES})
|
||||
OPTION(WITH_XML2 " Enable the RAPTOR XML2 library" ${WITH_PACKAGES})
|
||||
OPTION(WITH_XML " Enable the Prolog XML library" ${WITH_PACKAGES})
|
||||
OPTION(WITH_CLPBN" Enable the CLPBN and PFL probabilistic languages" ${WITH_PACKAGES})
|
||||
OPTION(WITH_HORUS " Enable the HORUS inference libraray for CLPBN and PFL" ${WITH_CLPBN})
|
||||
option(WITH_PROBLOG "include Problog-I." ${WITH_EXTENSIONS})
|
||||
OPTION(WITH_CPLINT " Enable the cplint probabilistic language" ${WITH_EXTENSIONS})
|
||||
option(WITH_GECODE "interface gecode constraint solver" ${WITH_EXTENSIONS})
|
||||
option(WITH_LBFGS "interface with lbfgs" ${WITH_EXTENSIONS})
|
||||
option(WITH_PRISM "use PRISM system in YAP" ${WITH_EXTENSIONS})
|
||||
option(WITH_PYTHON "Allow Python->YAP and YAP->Python" ${WITH_EXTENSIONS})
|
||||
option(WITH_R "Use R Interface" ${WITH_EXTENSIONS})
|
||||
option(WITH_JAVA "Try to use Java (currently Java 6,7,8)" ${WITH_EXTENSIONS})
|
||||
option(WITH_PROBLOG "include Problog-I." ${WITH_PACKAGES})
|
||||
OPTION(WITH_CPLINT " Enable the cplint probabilistic language" ${WITH_PACKAGES})
|
||||
option(WITH_GECODE "interface gecode constraint solver" ${WITH_PACKAGES})
|
||||
option(WITH_LBFGS "interface with lbfgs" ${WITH_PACKAGES})
|
||||
option(WITH_PRISM "use PRISM system in YAP" ${WITH_PACKAGES})
|
||||
option(WITH_PYTHON "Allow Python->YAP and YAP->Python" ${WITH_PACKAGES})
|
||||
option(WITH_R "Use R Interface" ${WITH_PACKAGES})
|
||||
option(WITH_JAVA "Try to use Java (currently Java 6,7,8)" ${WITH_PACKAGES})
|
||||
|
||||
set(CMAKE_POSITION_INDEPENDENT_CODE TRUE)
|
||||
set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS TRUE)
|
||||
@ -273,58 +310,6 @@ endif()
|
||||
ADD_CUSTOM_TARGET(run_install COMMAND ${CMAKE_MAKE_PROGRAM} install)
|
||||
|
||||
|
||||
if (APPLE)
|
||||
set(MACOSX_RPATH ON)
|
||||
|
||||
if (NOT $ENV{CONDA_BUILD}x STREQUAL "1x")
|
||||
|
||||
set(PATH $ENV{PATH})
|
||||
|
||||
if (WITH_MACPORTS)
|
||||
# Add MacPorts
|
||||
# Detect if the "port" command is valid on this system; if so, return full path
|
||||
EXECUTE_PROCESS(COMMAND which port RESULT_VARIABLE DETECT_MACPORTS OUTPUT_VARIABLE MACPORTS_PREFIX ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
|
||||
IF (${DETECT_MACPORTS} EQUAL 0)
|
||||
# "/opt/local/bin/port" doesn't have libs, so we get the parent directory
|
||||
GET_FILENAME_COMPONENT(MACPORTS_PREFIX ${MACPORTS_PREFIX} DIRECTORY)
|
||||
|
||||
# "/opt/local/bin" doesn't have libs, so we get the parent directory
|
||||
GET_FILENAME_COMPONENT(MACPORTS_PREFIX ${MACPORTS_PREFIX} DIRECTORY)
|
||||
|
||||
# "/opt/local" is where MacPorts lives, add `/lib` suffix and link
|
||||
LINK_DIRECTORIES(${LINK DIRECTORIES} ${MACPORTS_PREFIX}/lib)
|
||||
|
||||
MESSAGE("WINNING!: ${MACPORTS_PREFIX}/lib")
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
||||
|
||||
if (WITH_BREW)
|
||||
EXECUTE_PROCESS(COMMAND brew --prefix RESULT_VARIABLE DETECT_BREW OUTPUT_VARIABLE BREW_PREFIX ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
|
||||
IF (${DETECT_BREW} EQUAL 0)
|
||||
|
||||
# "/opt/local" is where MacPorts lives, add `/lib` suffix and link
|
||||
LINK_DIRECTORIES( ${BREW_PREFIX}/lib)
|
||||
|
||||
MESSAGE("BREW!: ${BREW_PREFIX}/lib")
|
||||
ENDIF()
|
||||
|
||||
|
||||
list(INSERT CMAKE_PREFIX_PATH pos
|
||||
${BREW_PREFIX}/opt/gmp
|
||||
${BREW_PREFIX}/opt/libxml2
|
||||
${BREW_PREFIX}/opt/openmpi
|
||||
${BREW_PREFIX}/opt/openssl
|
||||
${BREW_PREFIX}/opt/postgresql
|
||||
${BREW_PREFIX}/opt/python3
|
||||
${BREW_PREFIX}/opt/readline
|
||||
${BREW_PREFIX}/opt/swig
|
||||
)
|
||||
endif ()
|
||||
endif()
|
||||
endif ()
|
||||
|
||||
|
||||
set(prefix ${CMAKE_INSTALL_PREFIX}) #BINDIR})
|
||||
@ -837,9 +822,9 @@ if (WITH_JAVA)
|
||||
|
||||
set (STD_CMAKE_FIND_FRAMEWORK ${CMAKE_FIND_FRAMEWORK})
|
||||
set (CMAKE_FIND_FRAMEWORK LAST) # CMake will find the Java returned by /usr/libexec/java_home.
|
||||
|
||||
|
||||
macro_optional_find_package(JNI ON)
|
||||
|
||||
|
||||
|
||||
set (CMAKE_FIND_FRAMEWORK ${STD_CMAKE_FIND_FRAMEWORK})
|
||||
|
||||
|
@ -391,8 +391,7 @@ extern void Yap_InitSortPreds(void);
|
||||
|
||||
/* stack.c */
|
||||
extern void Yap_InitStInfo(void);
|
||||
extern void Yap_dump_stack(void);
|
||||
extern void Yap_output_bug_location(yamop *yap_pc, int where_from, int psize);
|
||||
extern char *Yap_output_bug_location(yamop *yap_pc, int where_from, int psize);
|
||||
|
||||
#if !defined(YAPOR) && !defined(THREADS)
|
||||
extern bool Yap_search_for_static_predicate_in_use(struct pred_entry *, bool);
|
||||
|
@ -243,6 +243,8 @@ INLINE_ONLY Term Yap_ensure_atom__(const char *fu, const char *fi, int line,
|
||||
/// whether we are consulting
|
||||
bool prologConsulting;
|
||||
const char *culprit;
|
||||
/// Prolog stack at the time
|
||||
const char *prologStack;
|
||||
YAP_Term errorRawTerm, rawExtraErrorTerm;
|
||||
char *errorMsg;
|
||||
size_t errorMsgLen;
|
||||
@ -271,6 +273,8 @@ INLINE_ONLY Term Yap_ensure_atom__(const char *fu, const char *fi, int line,
|
||||
yap_error_descriptor_t * t, void *cp0, void *b_ptr0, void *env0,
|
||||
YAP_Int ignore_first);
|
||||
|
||||
extern const char *Yap_dump_stack(void);
|
||||
|
||||
extern yap_error_descriptor_t *Yap_prolog_add_culprit(yap_error_descriptor_t *
|
||||
t);
|
||||
extern yap_error_class_number Yap_errorClass(yap_error_number e);
|
||||
|
@ -100,10 +100,10 @@ typedef YAP_UInt YAP_Term;
|
||||
#define TRUE true
|
||||
#endif
|
||||
#ifndef FALSE
|
||||
#define FALSE false
|
||||
#endif
|
||||
|
||||
typedef bool YAP_Bool;
|
||||
#define FALSE false
|
||||
|
||||
typedef YAP_Int YAP_handle_t;
|
||||
|
||||
|
@ -343,6 +343,9 @@ static Term syntax_error(TokEntry *errtok, int sno, Term cmod, Int newpos, bool
|
||||
Yap_local.ActiveError->parserFile =
|
||||
RepAtom(AtomOfTerm((GLOBAL_Stream+sno)->user_name))->StrOfAE;
|
||||
Yap_local.ActiveError->parserReadingCode = code;
|
||||
int lvl = push_text_stack();
|
||||
if (GLOBAL_Stream[sno].status & Seekable_Stream_f) {
|
||||
char *o, *o2;
|
||||
#if HAVE_FTELLO
|
||||
fseeko(GLOBAL_Stream[sno].file, startpos, SEEK_SET);
|
||||
#else
|
||||
@ -358,6 +361,7 @@ static Term syntax_error(TokEntry *errtok, int sno, Term cmod, Int newpos, bool
|
||||
}
|
||||
err_line = tok->TokLine;
|
||||
errpos = tok->TokPos;
|
||||
|
||||
if (errpos <= startpos) {
|
||||
o = malloc(1);
|
||||
o[0] = '\0';
|
||||
|
@ -333,7 +333,7 @@ so that it is not recomputed
|
||||
BChild1 = pt * p;
|
||||
mVarIndex = bVar2mVar_ex[ex][index];
|
||||
v = vars_ex[ex][mVarIndex];
|
||||
index - v.firstBoolVar;
|
||||
index = v.firstBoolVar;
|
||||
res = BChild0 + BChild1;
|
||||
add_node(table, nodekey, res);
|
||||
return res;
|
||||
|
1
packages/gecode/6.1.0/gecode-version.txt
vendored
Normal file
1
packages/gecode/6.1.0/gecode-version.txt
vendored
Normal file
@ -0,0 +1 @@
|
||||
6.1.0
|
3685
packages/gecode/6.1.0/gecode_yap_auto_generated.yap
vendored
Normal file
3685
packages/gecode/6.1.0/gecode_yap_auto_generated.yap
vendored
Normal file
File diff suppressed because it is too large
Load Diff
28
packages/gecode/6.1.0/gecode_yap_cc_forward_auto_generated.icc
vendored
Normal file
28
packages/gecode/6.1.0/gecode_yap_cc_forward_auto_generated.icc
vendored
Normal file
@ -0,0 +1,28 @@
|
||||
// -*- c++ -*-
|
||||
//=============================================================================
|
||||
// Copyright (C) 2011 by Denys Duchier
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify it
|
||||
// under the terms of the GNU Lesser General Public License as published by the
|
||||
// Free Software Foundation, either version 3 of the License, or (at your
|
||||
// option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
// more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
//=============================================================================
|
||||
|
||||
static RestartMode gecode_RestartMode_from_term(YAP_Term);
|
||||
static FloatRelType gecode_FloatRelType_from_term(YAP_Term);
|
||||
static ReifyMode gecode_ReifyMode_from_term(YAP_Term);
|
||||
static IntRelType gecode_IntRelType_from_term(YAP_Term);
|
||||
static BoolOpType gecode_BoolOpType_from_term(YAP_Term);
|
||||
static IntPropLevel gecode_IntPropLevel_from_term(YAP_Term);
|
||||
static TaskType gecode_TaskType_from_term(YAP_Term);
|
||||
static TraceEvent gecode_TraceEvent_from_term(YAP_Term);
|
||||
static SetRelType gecode_SetRelType_from_term(YAP_Term);
|
||||
static SetOpType gecode_SetOpType_from_term(YAP_Term);
|
5458
packages/gecode/6.1.0/gecode_yap_cc_impl_auto_generated.icc
vendored
Normal file
5458
packages/gecode/6.1.0/gecode_yap_cc_impl_auto_generated.icc
vendored
Normal file
File diff suppressed because it is too large
Load Diff
679
packages/gecode/6.1.0/gecode_yap_cc_init_auto_generated.icc
vendored
Normal file
679
packages/gecode/6.1.0/gecode_yap_cc_init_auto_generated.icc
vendored
Normal file
@ -0,0 +1,679 @@
|
||||
// -*- c++ -*-
|
||||
//=============================================================================
|
||||
// Copyright (C) 2011 by Denys Duchier
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify it
|
||||
// under the terms of the GNU Lesser General Public License as published by the
|
||||
// Free Software Foundation, either version 3 of the License, or (at your
|
||||
// option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
// more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
//=============================================================================
|
||||
|
||||
{ YAP_Atom X= YAP_LookupAtom("RM_NONE");
|
||||
gecode_RM_NONE = YAP_MkAtomTerm(X);
|
||||
YAP_AtomGetHold(X); }
|
||||
{ YAP_Atom X= YAP_LookupAtom("RM_CONSTANT");
|
||||
gecode_RM_CONSTANT = YAP_MkAtomTerm(X);
|
||||
YAP_AtomGetHold(X); }
|
||||
{ YAP_Atom X= YAP_LookupAtom("RM_LINEAR");
|
||||
gecode_RM_LINEAR = YAP_MkAtomTerm(X);
|
||||
YAP_AtomGetHold(X); }
|
||||
{ YAP_Atom X= YAP_LookupAtom("RM_LUBY");
|
||||
gecode_RM_LUBY = YAP_MkAtomTerm(X);
|
||||
YAP_AtomGetHold(X); }
|
||||
{ YAP_Atom X= YAP_LookupAtom("RM_GEOMETRIC");
|
||||
gecode_RM_GEOMETRIC = YAP_MkAtomTerm(X);
|
||||
YAP_AtomGetHold(X); }
|
||||
|
||||
{ YAP_Atom X= YAP_LookupAtom("FRT_EQ");
|
||||
gecode_FRT_EQ = YAP_MkAtomTerm(X);
|
||||
YAP_AtomGetHold(X); }
|
||||
{ YAP_Atom X= YAP_LookupAtom("FRT_NQ");
|
||||
gecode_FRT_NQ = YAP_MkAtomTerm(X);
|
||||
YAP_AtomGetHold(X); }
|
||||
{ YAP_Atom X= YAP_LookupAtom("FRT_LQ");
|
||||
gecode_FRT_LQ = YAP_MkAtomTerm(X);
|
||||
YAP_AtomGetHold(X); }
|
||||
{ YAP_Atom X= YAP_LookupAtom("FRT_LE");
|
||||
gecode_FRT_LE = YAP_MkAtomTerm(X);
|
||||
YAP_AtomGetHold(X); }
|
||||
{ YAP_Atom X= YAP_LookupAtom("FRT_GQ");
|
||||
gecode_FRT_GQ = YAP_MkAtomTerm(X);
|
||||
YAP_AtomGetHold(X); }
|
||||
{ YAP_Atom X= YAP_LookupAtom("FRT_GR");
|
||||
gecode_FRT_GR = YAP_MkAtomTerm(X);
|
||||
YAP_AtomGetHold(X); }
|
||||
|
||||
{ YAP_Atom X= YAP_LookupAtom("RM_EQV");
|
||||
gecode_RM_EQV = YAP_MkAtomTerm(X);
|
||||
YAP_AtomGetHold(X); }
|
||||
{ YAP_Atom X= YAP_LookupAtom("RM_IMP");
|
||||
gecode_RM_IMP = YAP_MkAtomTerm(X);
|
||||
YAP_AtomGetHold(X); }
|
||||
{ YAP_Atom X= YAP_LookupAtom("RM_PMI");
|
||||
gecode_RM_PMI = YAP_MkAtomTerm(X);
|
||||
YAP_AtomGetHold(X); }
|
||||
|
||||
{ YAP_Atom X= YAP_LookupAtom("IRT_EQ");
|
||||
gecode_IRT_EQ = YAP_MkAtomTerm(X);
|
||||
YAP_AtomGetHold(X); }
|
||||
{ YAP_Atom X= YAP_LookupAtom("IRT_NQ");
|
||||
gecode_IRT_NQ = YAP_MkAtomTerm(X);
|
||||
YAP_AtomGetHold(X); }
|
||||
{ YAP_Atom X= YAP_LookupAtom("IRT_LQ");
|
||||
gecode_IRT_LQ = YAP_MkAtomTerm(X);
|
||||
YAP_AtomGetHold(X); }
|
||||
{ YAP_Atom X= YAP_LookupAtom("IRT_LE");
|
||||
gecode_IRT_LE = YAP_MkAtomTerm(X);
|
||||
YAP_AtomGetHold(X); }
|
||||
{ YAP_Atom X= YAP_LookupAtom("IRT_GQ");
|
||||
gecode_IRT_GQ = YAP_MkAtomTerm(X);
|
||||
YAP_AtomGetHold(X); }
|
||||
{ YAP_Atom X= YAP_LookupAtom("IRT_GR");
|
||||
gecode_IRT_GR = YAP_MkAtomTerm(X);
|
||||
YAP_AtomGetHold(X); }
|
||||
|
||||
{ YAP_Atom X= YAP_LookupAtom("BOT_AND");
|
||||
gecode_BOT_AND = YAP_MkAtomTerm(X);
|
||||
YAP_AtomGetHold(X); }
|
||||
{ YAP_Atom X= YAP_LookupAtom("BOT_OR");
|
||||
gecode_BOT_OR = YAP_MkAtomTerm(X);
|
||||
YAP_AtomGetHold(X); }
|
||||
{ YAP_Atom X= YAP_LookupAtom("BOT_IMP");
|
||||
gecode_BOT_IMP = YAP_MkAtomTerm(X);
|
||||
YAP_AtomGetHold(X); }
|
||||
{ YAP_Atom X= YAP_LookupAtom("BOT_EQV");
|
||||
gecode_BOT_EQV = YAP_MkAtomTerm(X);
|
||||
YAP_AtomGetHold(X); }
|
||||
{ YAP_Atom X= YAP_LookupAtom("BOT_XOR");
|
||||
gecode_BOT_XOR = YAP_MkAtomTerm(X);
|
||||
YAP_AtomGetHold(X); }
|
||||
|
||||
{ YAP_Atom X= YAP_LookupAtom("IPL_DEF");
|
||||
gecode_IPL_DEF = YAP_MkAtomTerm(X);
|
||||
YAP_AtomGetHold(X); }
|
||||
{ YAP_Atom X= YAP_LookupAtom("IPL_VAL");
|
||||
gecode_IPL_VAL = YAP_MkAtomTerm(X);
|
||||
YAP_AtomGetHold(X); }
|
||||
{ YAP_Atom X= YAP_LookupAtom("IPL_BND");
|
||||
gecode_IPL_BND = YAP_MkAtomTerm(X);
|
||||
YAP_AtomGetHold(X); }
|
||||
{ YAP_Atom X= YAP_LookupAtom("IPL_DOM");
|
||||
gecode_IPL_DOM = YAP_MkAtomTerm(X);
|
||||
YAP_AtomGetHold(X); }
|
||||
{ YAP_Atom X= YAP_LookupAtom("IPL_BASIC");
|
||||
gecode_IPL_BASIC = YAP_MkAtomTerm(X);
|
||||
YAP_AtomGetHold(X); }
|
||||
{ YAP_Atom X= YAP_LookupAtom("IPL_ADVANCED");
|
||||
gecode_IPL_ADVANCED = YAP_MkAtomTerm(X);
|
||||
YAP_AtomGetHold(X); }
|
||||
{ YAP_Atom X= YAP_LookupAtom("IPL_BASIC_ADVANCED");
|
||||
gecode_IPL_BASIC_ADVANCED = YAP_MkAtomTerm(X);
|
||||
YAP_AtomGetHold(X); }
|
||||
|
||||
{ YAP_Atom X= YAP_LookupAtom("TT_FIXP");
|
||||
gecode_TT_FIXP = YAP_MkAtomTerm(X);
|
||||
YAP_AtomGetHold(X); }
|
||||
{ YAP_Atom X= YAP_LookupAtom("TT_FIXS");
|
||||
gecode_TT_FIXS = YAP_MkAtomTerm(X);
|
||||
YAP_AtomGetHold(X); }
|
||||
{ YAP_Atom X= YAP_LookupAtom("TT_FIXE");
|
||||
gecode_TT_FIXE = YAP_MkAtomTerm(X);
|
||||
YAP_AtomGetHold(X); }
|
||||
|
||||
{ YAP_Atom X= YAP_LookupAtom("TE_INIT");
|
||||
gecode_TE_INIT = YAP_MkAtomTerm(X);
|
||||
YAP_AtomGetHold(X); }
|
||||
{ YAP_Atom X= YAP_LookupAtom("TE_PRUNE");
|
||||
gecode_TE_PRUNE = YAP_MkAtomTerm(X);
|
||||
YAP_AtomGetHold(X); }
|
||||
{ YAP_Atom X= YAP_LookupAtom("TE_FIX");
|
||||
gecode_TE_FIX = YAP_MkAtomTerm(X);
|
||||
YAP_AtomGetHold(X); }
|
||||
{ YAP_Atom X= YAP_LookupAtom("TE_FAIL");
|
||||
gecode_TE_FAIL = YAP_MkAtomTerm(X);
|
||||
YAP_AtomGetHold(X); }
|
||||
{ YAP_Atom X= YAP_LookupAtom("TE_DONE");
|
||||
gecode_TE_DONE = YAP_MkAtomTerm(X);
|
||||
YAP_AtomGetHold(X); }
|
||||
{ YAP_Atom X= YAP_LookupAtom("TE_PROPAGATE");
|
||||
gecode_TE_PROPAGATE = YAP_MkAtomTerm(X);
|
||||
YAP_AtomGetHold(X); }
|
||||
{ YAP_Atom X= YAP_LookupAtom("TE_COMMIT");
|
||||
gecode_TE_COMMIT = YAP_MkAtomTerm(X);
|
||||
YAP_AtomGetHold(X); }
|
||||
|
||||
{ YAP_Atom X= YAP_LookupAtom("SRT_EQ");
|
||||
gecode_SRT_EQ = YAP_MkAtomTerm(X);
|
||||
YAP_AtomGetHold(X); }
|
||||
{ YAP_Atom X= YAP_LookupAtom("SRT_NQ");
|
||||
gecode_SRT_NQ = YAP_MkAtomTerm(X);
|
||||
YAP_AtomGetHold(X); }
|
||||
{ YAP_Atom X= YAP_LookupAtom("SRT_SUB");
|
||||
gecode_SRT_SUB = YAP_MkAtomTerm(X);
|
||||
YAP_AtomGetHold(X); }
|
||||
{ YAP_Atom X= YAP_LookupAtom("SRT_SUP");
|
||||
gecode_SRT_SUP = YAP_MkAtomTerm(X);
|
||||
YAP_AtomGetHold(X); }
|
||||
{ YAP_Atom X= YAP_LookupAtom("SRT_DISJ");
|
||||
gecode_SRT_DISJ = YAP_MkAtomTerm(X);
|
||||
YAP_AtomGetHold(X); }
|
||||
{ YAP_Atom X= YAP_LookupAtom("SRT_CMPL");
|
||||
gecode_SRT_CMPL = YAP_MkAtomTerm(X);
|
||||
YAP_AtomGetHold(X); }
|
||||
{ YAP_Atom X= YAP_LookupAtom("SRT_LQ");
|
||||
gecode_SRT_LQ = YAP_MkAtomTerm(X);
|
||||
YAP_AtomGetHold(X); }
|
||||
{ YAP_Atom X= YAP_LookupAtom("SRT_LE");
|
||||
gecode_SRT_LE = YAP_MkAtomTerm(X);
|
||||
YAP_AtomGetHold(X); }
|
||||
{ YAP_Atom X= YAP_LookupAtom("SRT_GQ");
|
||||
gecode_SRT_GQ = YAP_MkAtomTerm(X);
|
||||
YAP_AtomGetHold(X); }
|
||||
{ YAP_Atom X= YAP_LookupAtom("SRT_GR");
|
||||
gecode_SRT_GR = YAP_MkAtomTerm(X);
|
||||
YAP_AtomGetHold(X); }
|
||||
|
||||
{ YAP_Atom X= YAP_LookupAtom("SOT_UNION");
|
||||
gecode_SOT_UNION = YAP_MkAtomTerm(X);
|
||||
YAP_AtomGetHold(X); }
|
||||
{ YAP_Atom X= YAP_LookupAtom("SOT_DUNION");
|
||||
gecode_SOT_DUNION = YAP_MkAtomTerm(X);
|
||||
YAP_AtomGetHold(X); }
|
||||
{ YAP_Atom X= YAP_LookupAtom("SOT_INTER");
|
||||
gecode_SOT_INTER = YAP_MkAtomTerm(X);
|
||||
YAP_AtomGetHold(X); }
|
||||
{ YAP_Atom X= YAP_LookupAtom("SOT_MINUS");
|
||||
gecode_SOT_MINUS = YAP_MkAtomTerm(X);
|
||||
YAP_AtomGetHold(X); }
|
||||
|
||||
YAP_UserCPredicate("gecode_constraint_branch_1", gecode_constraint_branch_1, 2);
|
||||
YAP_UserCPredicate("gecode_constraint_convex_2", gecode_constraint_convex_2, 2);
|
||||
YAP_UserCPredicate("gecode_constraint_convex_3", gecode_constraint_convex_3, 3);
|
||||
YAP_UserCPredicate("gecode_constraint_abs_4", gecode_constraint_abs_4, 3);
|
||||
YAP_UserCPredicate("gecode_constraint_abs_5", gecode_constraint_abs_5, 3);
|
||||
YAP_UserCPredicate("gecode_constraint_abs_6", gecode_constraint_abs_6, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_argmax_7", gecode_constraint_argmax_7, 3);
|
||||
YAP_UserCPredicate("gecode_constraint_argmax_8", gecode_constraint_argmax_8, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_argmax_10", gecode_constraint_argmax_10, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_argmax_9", gecode_constraint_argmax_9, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_argmax_11", gecode_constraint_argmax_11, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_argmax_12", gecode_constraint_argmax_12, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_argmin_13", gecode_constraint_argmin_13, 3);
|
||||
YAP_UserCPredicate("gecode_constraint_argmin_14", gecode_constraint_argmin_14, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_argmin_16", gecode_constraint_argmin_16, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_argmin_15", gecode_constraint_argmin_15, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_argmin_17", gecode_constraint_argmin_17, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_argmin_18", gecode_constraint_argmin_18, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_assign_19", gecode_constraint_assign_19, 3);
|
||||
YAP_UserCPredicate("gecode_constraint_assign_21", gecode_constraint_assign_21, 3);
|
||||
YAP_UserCPredicate("gecode_constraint_assign_23", gecode_constraint_assign_23, 3);
|
||||
YAP_UserCPredicate("gecode_constraint_assign_25", gecode_constraint_assign_25, 3);
|
||||
YAP_UserCPredicate("gecode_constraint_assign_27", gecode_constraint_assign_27, 3);
|
||||
YAP_UserCPredicate("gecode_constraint_assign_30", gecode_constraint_assign_30, 3);
|
||||
YAP_UserCPredicate("gecode_constraint_assign_33", gecode_constraint_assign_33, 3);
|
||||
YAP_UserCPredicate("gecode_constraint_assign_36", gecode_constraint_assign_36, 3);
|
||||
YAP_UserCPredicate("gecode_constraint_assign_20", gecode_constraint_assign_20, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_assign_22", gecode_constraint_assign_22, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_assign_24", gecode_constraint_assign_24, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_assign_26", gecode_constraint_assign_26, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_assign_28", gecode_constraint_assign_28, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_assign_31", gecode_constraint_assign_31, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_assign_34", gecode_constraint_assign_34, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_assign_37", gecode_constraint_assign_37, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_assign_29", gecode_constraint_assign_29, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_assign_32", gecode_constraint_assign_32, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_assign_35", gecode_constraint_assign_35, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_assign_38", gecode_constraint_assign_38, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_binpacking_39", gecode_constraint_binpacking_39, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_binpacking_40", gecode_constraint_binpacking_40, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_branch_41", gecode_constraint_branch_41, 3);
|
||||
YAP_UserCPredicate("gecode_constraint_branch_43", gecode_constraint_branch_43, 3);
|
||||
YAP_UserCPredicate("gecode_constraint_branch_45", gecode_constraint_branch_45, 3);
|
||||
YAP_UserCPredicate("gecode_constraint_branch_47", gecode_constraint_branch_47, 3);
|
||||
YAP_UserCPredicate("gecode_constraint_branch_42", gecode_constraint_branch_42, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_branch_44", gecode_constraint_branch_44, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_branch_46", gecode_constraint_branch_46, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_branch_48", gecode_constraint_branch_48, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_branch_49", gecode_constraint_branch_49, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_branch_55", gecode_constraint_branch_55, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_branch_61", gecode_constraint_branch_61, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_branch_64", gecode_constraint_branch_64, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_branch_67", gecode_constraint_branch_67, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_branch_73", gecode_constraint_branch_73, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_branch_79", gecode_constraint_branch_79, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_branch_85", gecode_constraint_branch_85, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_branch_50", gecode_constraint_branch_50, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_branch_52", gecode_constraint_branch_52, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_branch_56", gecode_constraint_branch_56, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_branch_58", gecode_constraint_branch_58, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_branch_62", gecode_constraint_branch_62, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_branch_65", gecode_constraint_branch_65, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_branch_68", gecode_constraint_branch_68, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_branch_70", gecode_constraint_branch_70, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_branch_74", gecode_constraint_branch_74, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_branch_76", gecode_constraint_branch_76, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_branch_80", gecode_constraint_branch_80, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_branch_82", gecode_constraint_branch_82, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_branch_86", gecode_constraint_branch_86, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_branch_88", gecode_constraint_branch_88, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_branch_51", gecode_constraint_branch_51, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_branch_53", gecode_constraint_branch_53, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_branch_57", gecode_constraint_branch_57, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_branch_59", gecode_constraint_branch_59, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_branch_63", gecode_constraint_branch_63, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_branch_66", gecode_constraint_branch_66, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_branch_69", gecode_constraint_branch_69, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_branch_71", gecode_constraint_branch_71, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_branch_75", gecode_constraint_branch_75, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_branch_77", gecode_constraint_branch_77, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_branch_81", gecode_constraint_branch_81, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_branch_83", gecode_constraint_branch_83, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_branch_87", gecode_constraint_branch_87, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_branch_89", gecode_constraint_branch_89, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_branch_54", gecode_constraint_branch_54, 7);
|
||||
YAP_UserCPredicate("gecode_constraint_branch_60", gecode_constraint_branch_60, 7);
|
||||
YAP_UserCPredicate("gecode_constraint_branch_72", gecode_constraint_branch_72, 7);
|
||||
YAP_UserCPredicate("gecode_constraint_branch_78", gecode_constraint_branch_78, 7);
|
||||
YAP_UserCPredicate("gecode_constraint_branch_84", gecode_constraint_branch_84, 7);
|
||||
YAP_UserCPredicate("gecode_constraint_branch_90", gecode_constraint_branch_90, 7);
|
||||
YAP_UserCPredicate("gecode_constraint_cardinality_91", gecode_constraint_cardinality_91, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_cardinality_92", gecode_constraint_cardinality_92, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_channel_93", gecode_constraint_channel_93, 3);
|
||||
YAP_UserCPredicate("gecode_constraint_channel_95", gecode_constraint_channel_95, 3);
|
||||
YAP_UserCPredicate("gecode_constraint_channel_96", gecode_constraint_channel_96, 3);
|
||||
YAP_UserCPredicate("gecode_constraint_channel_97", gecode_constraint_channel_97, 3);
|
||||
YAP_UserCPredicate("gecode_constraint_channel_100", gecode_constraint_channel_100, 3);
|
||||
YAP_UserCPredicate("gecode_constraint_channel_94", gecode_constraint_channel_94, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_channel_98", gecode_constraint_channel_98, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_channel_101", gecode_constraint_channel_101, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_channel_99", gecode_constraint_channel_99, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_channel_102", gecode_constraint_channel_102, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_channel_103", gecode_constraint_channel_103, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_circuit_104", gecode_constraint_circuit_104, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_circuit_115", gecode_constraint_circuit_115, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_circuit_105", gecode_constraint_circuit_105, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_circuit_106", gecode_constraint_circuit_106, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_circuit_108", gecode_constraint_circuit_108, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_circuit_107", gecode_constraint_circuit_107, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_circuit_109", gecode_constraint_circuit_109, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_circuit_110", gecode_constraint_circuit_110, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_circuit_111", gecode_constraint_circuit_111, 7);
|
||||
YAP_UserCPredicate("gecode_constraint_circuit_112", gecode_constraint_circuit_112, 2);
|
||||
YAP_UserCPredicate("gecode_constraint_circuit_113", gecode_constraint_circuit_113, 3);
|
||||
YAP_UserCPredicate("gecode_constraint_circuit_114", gecode_constraint_circuit_114, 3);
|
||||
YAP_UserCPredicate("gecode_constraint_clause_116", gecode_constraint_clause_116, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_clause_118", gecode_constraint_clause_118, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_clause_117", gecode_constraint_clause_117, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_clause_119", gecode_constraint_clause_119, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_count_120", gecode_constraint_count_120, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_count_122", gecode_constraint_count_122, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_count_124", gecode_constraint_count_124, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_count_126", gecode_constraint_count_126, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_count_128", gecode_constraint_count_128, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_count_130", gecode_constraint_count_130, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_count_133", gecode_constraint_count_133, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_count_137", gecode_constraint_count_137, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_count_141", gecode_constraint_count_141, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_count_142", gecode_constraint_count_142, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_count_144", gecode_constraint_count_144, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_count_121", gecode_constraint_count_121, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_count_123", gecode_constraint_count_123, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_count_125", gecode_constraint_count_125, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_count_127", gecode_constraint_count_127, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_count_129", gecode_constraint_count_129, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_count_131", gecode_constraint_count_131, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_count_143", gecode_constraint_count_143, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_count_145", gecode_constraint_count_145, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_count_132", gecode_constraint_count_132, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_count_135", gecode_constraint_count_135, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_count_136", gecode_constraint_count_136, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_count_139", gecode_constraint_count_139, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_count_140", gecode_constraint_count_140, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_count_134", gecode_constraint_count_134, 3);
|
||||
YAP_UserCPredicate("gecode_constraint_count_138", gecode_constraint_count_138, 3);
|
||||
YAP_UserCPredicate("gecode_constraint_cumulative_146", gecode_constraint_cumulative_146, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_cumulative_158", gecode_constraint_cumulative_158, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_cumulative_147", gecode_constraint_cumulative_147, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_cumulative_148", gecode_constraint_cumulative_148, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_cumulative_150", gecode_constraint_cumulative_150, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_cumulative_154", gecode_constraint_cumulative_154, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_cumulative_159", gecode_constraint_cumulative_159, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_cumulative_160", gecode_constraint_cumulative_160, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_cumulative_162", gecode_constraint_cumulative_162, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_cumulative_166", gecode_constraint_cumulative_166, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_cumulative_149", gecode_constraint_cumulative_149, 7);
|
||||
YAP_UserCPredicate("gecode_constraint_cumulative_151", gecode_constraint_cumulative_151, 7);
|
||||
YAP_UserCPredicate("gecode_constraint_cumulative_152", gecode_constraint_cumulative_152, 7);
|
||||
YAP_UserCPredicate("gecode_constraint_cumulative_155", gecode_constraint_cumulative_155, 7);
|
||||
YAP_UserCPredicate("gecode_constraint_cumulative_156", gecode_constraint_cumulative_156, 7);
|
||||
YAP_UserCPredicate("gecode_constraint_cumulative_161", gecode_constraint_cumulative_161, 7);
|
||||
YAP_UserCPredicate("gecode_constraint_cumulative_163", gecode_constraint_cumulative_163, 7);
|
||||
YAP_UserCPredicate("gecode_constraint_cumulative_164", gecode_constraint_cumulative_164, 7);
|
||||
YAP_UserCPredicate("gecode_constraint_cumulative_167", gecode_constraint_cumulative_167, 7);
|
||||
YAP_UserCPredicate("gecode_constraint_cumulative_168", gecode_constraint_cumulative_168, 7);
|
||||
YAP_UserCPredicate("gecode_constraint_cumulative_153", gecode_constraint_cumulative_153, 8);
|
||||
YAP_UserCPredicate("gecode_constraint_cumulative_157", gecode_constraint_cumulative_157, 8);
|
||||
YAP_UserCPredicate("gecode_constraint_cumulative_165", gecode_constraint_cumulative_165, 8);
|
||||
YAP_UserCPredicate("gecode_constraint_cumulative_169", gecode_constraint_cumulative_169, 8);
|
||||
YAP_UserCPredicate("gecode_constraint_cumulatives_170", gecode_constraint_cumulatives_170, 8);
|
||||
YAP_UserCPredicate("gecode_constraint_cumulatives_172", gecode_constraint_cumulatives_172, 8);
|
||||
YAP_UserCPredicate("gecode_constraint_cumulatives_174", gecode_constraint_cumulatives_174, 8);
|
||||
YAP_UserCPredicate("gecode_constraint_cumulatives_176", gecode_constraint_cumulatives_176, 8);
|
||||
YAP_UserCPredicate("gecode_constraint_cumulatives_178", gecode_constraint_cumulatives_178, 8);
|
||||
YAP_UserCPredicate("gecode_constraint_cumulatives_180", gecode_constraint_cumulatives_180, 8);
|
||||
YAP_UserCPredicate("gecode_constraint_cumulatives_182", gecode_constraint_cumulatives_182, 8);
|
||||
YAP_UserCPredicate("gecode_constraint_cumulatives_184", gecode_constraint_cumulatives_184, 8);
|
||||
YAP_UserCPredicate("gecode_constraint_cumulatives_171", gecode_constraint_cumulatives_171, 9);
|
||||
YAP_UserCPredicate("gecode_constraint_cumulatives_173", gecode_constraint_cumulatives_173, 9);
|
||||
YAP_UserCPredicate("gecode_constraint_cumulatives_175", gecode_constraint_cumulatives_175, 9);
|
||||
YAP_UserCPredicate("gecode_constraint_cumulatives_177", gecode_constraint_cumulatives_177, 9);
|
||||
YAP_UserCPredicate("gecode_constraint_cumulatives_179", gecode_constraint_cumulatives_179, 9);
|
||||
YAP_UserCPredicate("gecode_constraint_cumulatives_181", gecode_constraint_cumulatives_181, 9);
|
||||
YAP_UserCPredicate("gecode_constraint_cumulatives_183", gecode_constraint_cumulatives_183, 9);
|
||||
YAP_UserCPredicate("gecode_constraint_cumulatives_185", gecode_constraint_cumulatives_185, 9);
|
||||
YAP_UserCPredicate("gecode_constraint_distinct_186", gecode_constraint_distinct_186, 3);
|
||||
YAP_UserCPredicate("gecode_constraint_distinct_188", gecode_constraint_distinct_188, 3);
|
||||
YAP_UserCPredicate("gecode_constraint_distinct_191", gecode_constraint_distinct_191, 3);
|
||||
YAP_UserCPredicate("gecode_constraint_distinct_192", gecode_constraint_distinct_192, 3);
|
||||
YAP_UserCPredicate("gecode_constraint_distinct_187", gecode_constraint_distinct_187, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_distinct_189", gecode_constraint_distinct_189, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_distinct_193", gecode_constraint_distinct_193, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_distinct_190", gecode_constraint_distinct_190, 2);
|
||||
YAP_UserCPredicate("gecode_constraint_div_194", gecode_constraint_div_194, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_div_195", gecode_constraint_div_195, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_div_196", gecode_constraint_div_196, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_divmod_197", gecode_constraint_divmod_197, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_divmod_198", gecode_constraint_divmod_198, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_dom_199", gecode_constraint_dom_199, 3);
|
||||
YAP_UserCPredicate("gecode_constraint_dom_203", gecode_constraint_dom_203, 3);
|
||||
YAP_UserCPredicate("gecode_constraint_dom_205", gecode_constraint_dom_205, 3);
|
||||
YAP_UserCPredicate("gecode_constraint_dom_206", gecode_constraint_dom_206, 3);
|
||||
YAP_UserCPredicate("gecode_constraint_dom_208", gecode_constraint_dom_208, 3);
|
||||
YAP_UserCPredicate("gecode_constraint_dom_212", gecode_constraint_dom_212, 3);
|
||||
YAP_UserCPredicate("gecode_constraint_dom_226", gecode_constraint_dom_226, 3);
|
||||
YAP_UserCPredicate("gecode_constraint_dom_227", gecode_constraint_dom_227, 3);
|
||||
YAP_UserCPredicate("gecode_constraint_dom_230", gecode_constraint_dom_230, 3);
|
||||
YAP_UserCPredicate("gecode_constraint_dom_231", gecode_constraint_dom_231, 3);
|
||||
YAP_UserCPredicate("gecode_constraint_dom_232", gecode_constraint_dom_232, 3);
|
||||
YAP_UserCPredicate("gecode_constraint_dom_234", gecode_constraint_dom_234, 3);
|
||||
YAP_UserCPredicate("gecode_constraint_dom_236", gecode_constraint_dom_236, 3);
|
||||
YAP_UserCPredicate("gecode_constraint_dom_243", gecode_constraint_dom_243, 3);
|
||||
YAP_UserCPredicate("gecode_constraint_dom_200", gecode_constraint_dom_200, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_dom_201", gecode_constraint_dom_201, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_dom_204", gecode_constraint_dom_204, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_dom_207", gecode_constraint_dom_207, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_dom_209", gecode_constraint_dom_209, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_dom_210", gecode_constraint_dom_210, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_dom_213", gecode_constraint_dom_213, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_dom_214", gecode_constraint_dom_214, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_dom_216", gecode_constraint_dom_216, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_dom_220", gecode_constraint_dom_220, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_dom_222", gecode_constraint_dom_222, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_dom_228", gecode_constraint_dom_228, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_dom_229", gecode_constraint_dom_229, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_dom_233", gecode_constraint_dom_233, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_dom_235", gecode_constraint_dom_235, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_dom_237", gecode_constraint_dom_237, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_dom_238", gecode_constraint_dom_238, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_dom_240", gecode_constraint_dom_240, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_dom_241", gecode_constraint_dom_241, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_dom_202", gecode_constraint_dom_202, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_dom_211", gecode_constraint_dom_211, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_dom_215", gecode_constraint_dom_215, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_dom_217", gecode_constraint_dom_217, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_dom_218", gecode_constraint_dom_218, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_dom_221", gecode_constraint_dom_221, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_dom_223", gecode_constraint_dom_223, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_dom_224", gecode_constraint_dom_224, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_dom_239", gecode_constraint_dom_239, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_dom_242", gecode_constraint_dom_242, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_dom_219", gecode_constraint_dom_219, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_dom_225", gecode_constraint_dom_225, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_element_244", gecode_constraint_element_244, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_element_246", gecode_constraint_element_246, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_element_248", gecode_constraint_element_248, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_element_254", gecode_constraint_element_254, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_element_256", gecode_constraint_element_256, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_element_260", gecode_constraint_element_260, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_element_262", gecode_constraint_element_262, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_element_245", gecode_constraint_element_245, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_element_247", gecode_constraint_element_247, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_element_249", gecode_constraint_element_249, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_element_255", gecode_constraint_element_255, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_element_257", gecode_constraint_element_257, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_element_261", gecode_constraint_element_261, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_element_263", gecode_constraint_element_263, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_element_250", gecode_constraint_element_250, 7);
|
||||
YAP_UserCPredicate("gecode_constraint_element_252", gecode_constraint_element_252, 7);
|
||||
YAP_UserCPredicate("gecode_constraint_element_258", gecode_constraint_element_258, 7);
|
||||
YAP_UserCPredicate("gecode_constraint_element_264", gecode_constraint_element_264, 7);
|
||||
YAP_UserCPredicate("gecode_constraint_element_251", gecode_constraint_element_251, 8);
|
||||
YAP_UserCPredicate("gecode_constraint_element_253", gecode_constraint_element_253, 8);
|
||||
YAP_UserCPredicate("gecode_constraint_element_259", gecode_constraint_element_259, 8);
|
||||
YAP_UserCPredicate("gecode_constraint_element_265", gecode_constraint_element_265, 8);
|
||||
YAP_UserCPredicate("gecode_constraint_extensional_266", gecode_constraint_extensional_266, 3);
|
||||
YAP_UserCPredicate("gecode_constraint_extensional_272", gecode_constraint_extensional_272, 3);
|
||||
YAP_UserCPredicate("gecode_constraint_extensional_267", gecode_constraint_extensional_267, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_extensional_268", gecode_constraint_extensional_268, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_extensional_273", gecode_constraint_extensional_273, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_extensional_274", gecode_constraint_extensional_274, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_extensional_269", gecode_constraint_extensional_269, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_extensional_270", gecode_constraint_extensional_270, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_extensional_275", gecode_constraint_extensional_275, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_extensional_276", gecode_constraint_extensional_276, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_extensional_271", gecode_constraint_extensional_271, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_extensional_277", gecode_constraint_extensional_277, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_ite_278", gecode_constraint_ite_278, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_ite_280", gecode_constraint_ite_280, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_ite_281", gecode_constraint_ite_281, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_ite_283", gecode_constraint_ite_283, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_ite_279", gecode_constraint_ite_279, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_ite_282", gecode_constraint_ite_282, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_linear_284", gecode_constraint_linear_284, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_linear_288", gecode_constraint_linear_288, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_linear_296", gecode_constraint_linear_296, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_linear_298", gecode_constraint_linear_298, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_linear_316", gecode_constraint_linear_316, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_linear_320", gecode_constraint_linear_320, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_linear_285", gecode_constraint_linear_285, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_linear_286", gecode_constraint_linear_286, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_linear_289", gecode_constraint_linear_289, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_linear_290", gecode_constraint_linear_290, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_linear_292", gecode_constraint_linear_292, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_linear_294", gecode_constraint_linear_294, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_linear_297", gecode_constraint_linear_297, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_linear_299", gecode_constraint_linear_299, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_linear_300", gecode_constraint_linear_300, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_linear_304", gecode_constraint_linear_304, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_linear_308", gecode_constraint_linear_308, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_linear_312", gecode_constraint_linear_312, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_linear_317", gecode_constraint_linear_317, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_linear_318", gecode_constraint_linear_318, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_linear_321", gecode_constraint_linear_321, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_linear_322", gecode_constraint_linear_322, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_linear_287", gecode_constraint_linear_287, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_linear_291", gecode_constraint_linear_291, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_linear_293", gecode_constraint_linear_293, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_linear_295", gecode_constraint_linear_295, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_linear_301", gecode_constraint_linear_301, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_linear_302", gecode_constraint_linear_302, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_linear_305", gecode_constraint_linear_305, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_linear_306", gecode_constraint_linear_306, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_linear_309", gecode_constraint_linear_309, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_linear_310", gecode_constraint_linear_310, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_linear_313", gecode_constraint_linear_313, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_linear_314", gecode_constraint_linear_314, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_linear_319", gecode_constraint_linear_319, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_linear_323", gecode_constraint_linear_323, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_linear_303", gecode_constraint_linear_303, 7);
|
||||
YAP_UserCPredicate("gecode_constraint_linear_307", gecode_constraint_linear_307, 7);
|
||||
YAP_UserCPredicate("gecode_constraint_linear_311", gecode_constraint_linear_311, 7);
|
||||
YAP_UserCPredicate("gecode_constraint_linear_315", gecode_constraint_linear_315, 7);
|
||||
YAP_UserCPredicate("gecode_constraint_max_324", gecode_constraint_max_324, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_max_325", gecode_constraint_max_325, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_max_329", gecode_constraint_max_329, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_max_326", gecode_constraint_max_326, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_max_327", gecode_constraint_max_327, 3);
|
||||
YAP_UserCPredicate("gecode_constraint_max_328", gecode_constraint_max_328, 3);
|
||||
YAP_UserCPredicate("gecode_constraint_member_330", gecode_constraint_member_330, 3);
|
||||
YAP_UserCPredicate("gecode_constraint_member_334", gecode_constraint_member_334, 3);
|
||||
YAP_UserCPredicate("gecode_constraint_member_331", gecode_constraint_member_331, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_member_332", gecode_constraint_member_332, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_member_335", gecode_constraint_member_335, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_member_336", gecode_constraint_member_336, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_member_333", gecode_constraint_member_333, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_member_337", gecode_constraint_member_337, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_min_338", gecode_constraint_min_338, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_min_339", gecode_constraint_min_339, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_min_343", gecode_constraint_min_343, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_min_340", gecode_constraint_min_340, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_min_341", gecode_constraint_min_341, 3);
|
||||
YAP_UserCPredicate("gecode_constraint_min_342", gecode_constraint_min_342, 3);
|
||||
YAP_UserCPredicate("gecode_constraint_mod_344", gecode_constraint_mod_344, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_mod_345", gecode_constraint_mod_345, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_mult_346", gecode_constraint_mult_346, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_mult_347", gecode_constraint_mult_347, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_mult_348", gecode_constraint_mult_348, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_nooverlap_349", gecode_constraint_nooverlap_349, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_nooverlap_350", gecode_constraint_nooverlap_350, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_nooverlap_351", gecode_constraint_nooverlap_351, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_nooverlap_352", gecode_constraint_nooverlap_352, 7);
|
||||
YAP_UserCPredicate("gecode_constraint_nooverlap_353", gecode_constraint_nooverlap_353, 7);
|
||||
YAP_UserCPredicate("gecode_constraint_nooverlap_354", gecode_constraint_nooverlap_354, 8);
|
||||
YAP_UserCPredicate("gecode_constraint_nooverlap_355", gecode_constraint_nooverlap_355, 8);
|
||||
YAP_UserCPredicate("gecode_constraint_nooverlap_356", gecode_constraint_nooverlap_356, 9);
|
||||
YAP_UserCPredicate("gecode_constraint_nroot_357", gecode_constraint_nroot_357, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_nroot_358", gecode_constraint_nroot_358, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_nroot_359", gecode_constraint_nroot_359, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_nvalues_360", gecode_constraint_nvalues_360, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_nvalues_362", gecode_constraint_nvalues_362, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_nvalues_364", gecode_constraint_nvalues_364, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_nvalues_366", gecode_constraint_nvalues_366, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_nvalues_361", gecode_constraint_nvalues_361, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_nvalues_363", gecode_constraint_nvalues_363, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_nvalues_365", gecode_constraint_nvalues_365, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_nvalues_367", gecode_constraint_nvalues_367, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_path_368", gecode_constraint_path_368, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_path_379", gecode_constraint_path_379, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_path_369", gecode_constraint_path_369, 7);
|
||||
YAP_UserCPredicate("gecode_constraint_path_370", gecode_constraint_path_370, 7);
|
||||
YAP_UserCPredicate("gecode_constraint_path_372", gecode_constraint_path_372, 7);
|
||||
YAP_UserCPredicate("gecode_constraint_path_371", gecode_constraint_path_371, 8);
|
||||
YAP_UserCPredicate("gecode_constraint_path_373", gecode_constraint_path_373, 8);
|
||||
YAP_UserCPredicate("gecode_constraint_path_374", gecode_constraint_path_374, 8);
|
||||
YAP_UserCPredicate("gecode_constraint_path_375", gecode_constraint_path_375, 9);
|
||||
YAP_UserCPredicate("gecode_constraint_path_376", gecode_constraint_path_376, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_path_377", gecode_constraint_path_377, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_path_378", gecode_constraint_path_378, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_pow_380", gecode_constraint_pow_380, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_pow_381", gecode_constraint_pow_381, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_pow_382", gecode_constraint_pow_382, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_precede_383", gecode_constraint_precede_383, 3);
|
||||
YAP_UserCPredicate("gecode_constraint_precede_384", gecode_constraint_precede_384, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_precede_385", gecode_constraint_precede_385, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_precede_386", gecode_constraint_precede_386, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_rel_387", gecode_constraint_rel_387, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_rel_389", gecode_constraint_rel_389, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_rel_395", gecode_constraint_rel_395, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_rel_399", gecode_constraint_rel_399, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_rel_403", gecode_constraint_rel_403, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_rel_405", gecode_constraint_rel_405, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_rel_407", gecode_constraint_rel_407, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_rel_411", gecode_constraint_rel_411, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_rel_415", gecode_constraint_rel_415, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_rel_417", gecode_constraint_rel_417, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_rel_419", gecode_constraint_rel_419, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_rel_421", gecode_constraint_rel_421, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_rel_423", gecode_constraint_rel_423, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_rel_426", gecode_constraint_rel_426, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_rel_427", gecode_constraint_rel_427, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_rel_429", gecode_constraint_rel_429, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_rel_431", gecode_constraint_rel_431, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_rel_433", gecode_constraint_rel_433, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_rel_434", gecode_constraint_rel_434, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_rel_435", gecode_constraint_rel_435, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_rel_437", gecode_constraint_rel_437, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_rel_440", gecode_constraint_rel_440, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_rel_441", gecode_constraint_rel_441, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_rel_443", gecode_constraint_rel_443, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_rel_445", gecode_constraint_rel_445, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_rel_447", gecode_constraint_rel_447, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_rel_388", gecode_constraint_rel_388, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_rel_390", gecode_constraint_rel_390, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_rel_391", gecode_constraint_rel_391, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_rel_393", gecode_constraint_rel_393, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_rel_396", gecode_constraint_rel_396, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_rel_397", gecode_constraint_rel_397, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_rel_400", gecode_constraint_rel_400, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_rel_401", gecode_constraint_rel_401, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_rel_404", gecode_constraint_rel_404, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_rel_406", gecode_constraint_rel_406, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_rel_408", gecode_constraint_rel_408, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_rel_409", gecode_constraint_rel_409, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_rel_412", gecode_constraint_rel_412, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_rel_413", gecode_constraint_rel_413, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_rel_416", gecode_constraint_rel_416, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_rel_418", gecode_constraint_rel_418, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_rel_420", gecode_constraint_rel_420, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_rel_422", gecode_constraint_rel_422, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_rel_424", gecode_constraint_rel_424, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_rel_428", gecode_constraint_rel_428, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_rel_430", gecode_constraint_rel_430, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_rel_432", gecode_constraint_rel_432, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_rel_436", gecode_constraint_rel_436, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_rel_438", gecode_constraint_rel_438, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_rel_442", gecode_constraint_rel_442, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_rel_444", gecode_constraint_rel_444, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_rel_446", gecode_constraint_rel_446, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_rel_448", gecode_constraint_rel_448, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_rel_392", gecode_constraint_rel_392, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_rel_394", gecode_constraint_rel_394, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_rel_398", gecode_constraint_rel_398, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_rel_402", gecode_constraint_rel_402, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_rel_410", gecode_constraint_rel_410, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_rel_414", gecode_constraint_rel_414, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_rel_425", gecode_constraint_rel_425, 3);
|
||||
YAP_UserCPredicate("gecode_constraint_rel_439", gecode_constraint_rel_439, 3);
|
||||
YAP_UserCPredicate("gecode_constraint_relax_449", gecode_constraint_relax_449, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_sequence_450", gecode_constraint_sequence_450, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_sequence_452", gecode_constraint_sequence_452, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_sequence_451", gecode_constraint_sequence_451, 7);
|
||||
YAP_UserCPredicate("gecode_constraint_sequence_453", gecode_constraint_sequence_453, 7);
|
||||
YAP_UserCPredicate("gecode_constraint_sorted_454", gecode_constraint_sorted_454, 3);
|
||||
YAP_UserCPredicate("gecode_constraint_sorted_455", gecode_constraint_sorted_455, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_sorted_456", gecode_constraint_sorted_456, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_sorted_457", gecode_constraint_sorted_457, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_sqr_458", gecode_constraint_sqr_458, 3);
|
||||
YAP_UserCPredicate("gecode_constraint_sqr_459", gecode_constraint_sqr_459, 3);
|
||||
YAP_UserCPredicate("gecode_constraint_sqr_460", gecode_constraint_sqr_460, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_sqrt_461", gecode_constraint_sqrt_461, 3);
|
||||
YAP_UserCPredicate("gecode_constraint_sqrt_462", gecode_constraint_sqrt_462, 3);
|
||||
YAP_UserCPredicate("gecode_constraint_sqrt_463", gecode_constraint_sqrt_463, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_unary_464", gecode_constraint_unary_464, 3);
|
||||
YAP_UserCPredicate("gecode_constraint_unary_465", gecode_constraint_unary_465, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_unary_466", gecode_constraint_unary_466, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_unary_468", gecode_constraint_unary_468, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_unary_472", gecode_constraint_unary_472, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_unary_467", gecode_constraint_unary_467, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_unary_469", gecode_constraint_unary_469, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_unary_470", gecode_constraint_unary_470, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_unary_473", gecode_constraint_unary_473, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_unary_474", gecode_constraint_unary_474, 5);
|
||||
YAP_UserCPredicate("gecode_constraint_unary_471", gecode_constraint_unary_471, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_unary_475", gecode_constraint_unary_475, 6);
|
||||
YAP_UserCPredicate("gecode_constraint_unshare_476", gecode_constraint_unshare_476, 2);
|
||||
YAP_UserCPredicate("gecode_constraint_unshare_478", gecode_constraint_unshare_478, 2);
|
||||
YAP_UserCPredicate("gecode_constraint_unshare_477", gecode_constraint_unshare_477, 3);
|
||||
YAP_UserCPredicate("gecode_constraint_unshare_479", gecode_constraint_unshare_479, 3);
|
||||
YAP_UserCPredicate("gecode_constraint_when_480", gecode_constraint_when_480, 3);
|
||||
YAP_UserCPredicate("gecode_constraint_when_481", gecode_constraint_when_481, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_when_482", gecode_constraint_when_482, 4);
|
||||
YAP_UserCPredicate("gecode_constraint_when_483", gecode_constraint_when_483, 5);
|
File diff suppressed because it is too large
Load Diff
@ -394,13 +394,12 @@ yap_hacks:cut_by(CP) :- '$$cut_by'(CP).
|
||||
|
||||
:- style_check([+discontiguous,+multiple,+single_var]).
|
||||
|
||||
|
||||
%
|
||||
% moved this to init_gc in gc.c to separate the alpha
|
||||
% moved this to init_gc in sgc.c to separate the alpha
|
||||
%
|
||||
% :- yap_flag(gc,on).
|
||||
|
||||
% :- yap_flag(gc_trace,verbose).
|
||||
%
|
||||
% :- yap_flag(gc_trace,verbose`
|
||||
|
||||
:- multifile
|
||||
prolog:comment_hook/3.
|
||||
|
220
pl/debug.yap
220
pl/debug.yap
@ -392,33 +392,33 @@ be lost.
|
||||
|
||||
|
||||
'$trace_meta_call'( G, M, CP ) :-
|
||||
'$trace_query'(G, M, CP, G, EG ),
|
||||
call(EG).
|
||||
'$trace_query'(G, M, CP, G, EG ),
|
||||
call(EG).
|
||||
|
||||
%% @pred '$trace_query'( +G, +M, +CP, +Expanded)
|
||||
%
|
||||
% debug a complex query
|
||||
%
|
||||
'$trace_query'(V, M, CP, _, '$trace'([M|V],CP)) :-
|
||||
var(V), !.
|
||||
'$trace_query'(V, M, _CP, _, call(M:V)) :-
|
||||
var(V), !.
|
||||
'$trace_query'(!, _, CP, _, '$$cut_by'(CP)) :-
|
||||
!.
|
||||
!.
|
||||
'$trace_query'('$cut_by'(M), _, _, _, '$$cut_by'(M)) :-
|
||||
!.
|
||||
!.
|
||||
'$trace_query'('$$cut_by'(M), _, _, _, '$$cut_by'(M)) :-
|
||||
!.
|
||||
!.
|
||||
'$trace_query'(true, _, _, _, true) :- !.
|
||||
'$trace_query'(fail, _, _, _, '$trace'(fail)) :- !.
|
||||
'$trace_query'(M:G, _, CP,S, Expanded) :-
|
||||
!,
|
||||
'$yap_strip_module'(M:G, M0, G0),
|
||||
'$trace_query'(G0, M0, CP,S, Expanded ).
|
||||
!,
|
||||
'$yap_strip_module'(M:G, M0, G0),
|
||||
'$trace_query'(G0, M0, CP,S, Expanded ).
|
||||
'$trace_query'((A,B), M, CP, S, (EA,EB)) :- !,
|
||||
'$trace_query'(A, M, CP, S, EA),
|
||||
'$trace_query'(B, M, CP, S, EB).
|
||||
'$trace_query'(A, M, CP, S, EA),
|
||||
'$trace_query'(B, M, CP, S, EB).
|
||||
'$trace_query'((A->B), M, CP, S, (EA->EB)) :- !,
|
||||
'$trace_query'(A, M, CP, S, EA),
|
||||
'$trace_query'(B, M, CP, S, EB).
|
||||
'$trace_query'(A, M, CP, S, EA),
|
||||
'$trace_query'(B, M, CP, S, EB).
|
||||
'$trace_query'((A;B), M, CP, S, (EA;EB)) :- !,
|
||||
'$trace_query'(A, M, CP, S, EA),
|
||||
'$trace_query'(B, M, CP, S, EB).
|
||||
@ -431,10 +431,10 @@ be lost.
|
||||
% spy a literal
|
||||
'$id_goal'(L),
|
||||
catch(
|
||||
'$trace_goal'(G, M, L, H),
|
||||
E,
|
||||
'$re_trace_query'(E, G, M, L, H)
|
||||
))).
|
||||
'$trace_goal'(G, M, L, H),
|
||||
E,
|
||||
'$TraceError'(E, G, M, L, H)
|
||||
))).
|
||||
|
||||
%% @pred $trace_goal( +Goal, +Module, +CallId, +CallInfo)
|
||||
%%
|
||||
@ -446,7 +446,7 @@ be lost.
|
||||
;
|
||||
'__NB_getval__'('$debug_status',state(zip,Border,Spy), fail),
|
||||
Border < GoalNumber,
|
||||
( Spy == ignore ; '$pred_being_spied'(G, M) )
|
||||
( Spy == ignore ; \+ '$pred_being_spied'(G, M) )
|
||||
),
|
||||
%writeln(go:G:M),
|
||||
!,
|
||||
@ -476,25 +476,25 @@ be lost.
|
||||
).
|
||||
% system_
|
||||
'$trace_goal'(G, M, GoalNumber, H) :-
|
||||
(
|
||||
'$is_opaque_predicate'(G, M)
|
||||
;
|
||||
'strip_module'(M:G, prolog, _NG)
|
||||
),
|
||||
!,
|
||||
gated_call(
|
||||
'$enter_trace'(GoalNumber, G, M, H),
|
||||
'$execute_nonstop'(G,M),
|
||||
Port,
|
||||
'$trace_port'(Port, GoalNumber, G, M, true, H)
|
||||
).
|
||||
(
|
||||
'$is_opaque_predicate'(G, M)
|
||||
;
|
||||
'strip_module'(M:G, prolog, _NG)
|
||||
),
|
||||
!,
|
||||
gated_call(
|
||||
'$enter_trace'(GoalNumber, G, M, H),
|
||||
'$execute_nonstop'(G,M),
|
||||
Port,
|
||||
'$trace_port'(Port, GoalNumber, G, M, true, H)
|
||||
).
|
||||
'$trace_goal'(G, M, GoalNumber, H) :-
|
||||
gated_call(
|
||||
'$enter_trace'(GoalNumber, G, M, H),
|
||||
'$debug'( GoalNumber, G, M, H),
|
||||
Port,
|
||||
'$trace_port'(Port, GoalNumber, G, M, true, H)
|
||||
).
|
||||
gated_call(
|
||||
'$enter_trace'(GoalNumber, G, M, H),
|
||||
'$debug'( GoalNumber, G, M, H),
|
||||
Port,
|
||||
'$trace_port'(Port, GoalNumber, G, M, true, H)
|
||||
).
|
||||
|
||||
|
||||
/**
|
||||
@ -547,8 +547,10 @@ be lost.
|
||||
* @parameter _Info_ describes the goal
|
||||
*
|
||||
*/
|
||||
|
||||
'$debug'(_, G, M, _H) :-
|
||||
'__NB_getval__'('$debug_status',state(zip,_Border,_), fail),
|
||||
'__NB_getval__'('$debug_status',state(zip,_Border,Spy), fail),
|
||||
( Spy == stop -> \+ '$pred_being_spied'(G,M) ; true ),
|
||||
!,
|
||||
'$execute_nonstop'( G, M ).
|
||||
'$debug'(GoalNumber, G, M, Info) :-
|
||||
@ -574,74 +576,50 @@ be lost.
|
||||
*/
|
||||
'$trace_go'(GoalNumber, G, M, Info) :-
|
||||
X=marker(_,M,G),
|
||||
'$$save_by'(CP),
|
||||
clause(M:G, Cl, _),
|
||||
'$retry_clause'(GoalNumber, G, M, Info, X),
|
||||
'$trace_query'(Cl, M, CP, Cl, ECl),
|
||||
'$execute0'(ECl,M).
|
||||
'$$save_by'(CP),
|
||||
clause(M:G, Cl, _),
|
||||
'$retry_clause'(GoalNumber, G, M, Info, X),
|
||||
'$trace_query'(Cl, M, CP, Cl, ECl),
|
||||
'$execute0'(ECl,M).
|
||||
|
||||
'$creep_step'(GoalNumber, G, M, Info) :-
|
||||
X=marker(_,M,G),
|
||||
'$$save_by'(CP),
|
||||
'$static_clause'(G,M,_,Ref),
|
||||
'$retry_clause'(GoalNumber, G, M, Info, X),
|
||||
'$creep',
|
||||
'$execute_clause'(G,M,Ref,CP).
|
||||
X=marker(_,M,G),
|
||||
'$$save_by'(CP),
|
||||
'$static_clause'(G,M,_,Ref),
|
||||
'$retry_clause'(GoalNumber, G, M, Info, X),
|
||||
'$creep',
|
||||
'$execute_clause'(G,M,Ref,CP).
|
||||
|
||||
'$retry_clause'(_GoalNumber, _G, _M, _Info, MarkerV) :-
|
||||
arg(1, MarkerV, V),
|
||||
var(V),
|
||||
!,
|
||||
nb_setarg(1,MarkerV, visited).
|
||||
arg(1, MarkerV, V),
|
||||
var(V),
|
||||
!,
|
||||
nb_setarg(1,MarkerV, visited).
|
||||
'$retry_clause'(GoalNumber, G, Module, Info, _X) :-
|
||||
'$trace_port_'(redo, GoalNumber, G, Module, Info).
|
||||
|
||||
%% @pred '$re_trace_query'( Exception, +Goal, +Mod, +GoalID )
|
||||
%
|
||||
% debugger code for exceptions. Recognised cases are:
|
||||
% - abort always forwarded
|
||||
% - redo resets the goal
|
||||
% - fail gives up on the goal.
|
||||
'$re_trace_query'(abort, _G, _Module, _GoalNumber, _H) :-
|
||||
!,
|
||||
abort.
|
||||
'$re_trace_query'(forward(fail,G0), _G, __Module, GoalNumber, _H) :-
|
||||
GoalNumber =< G0,
|
||||
!,
|
||||
fail.
|
||||
'$re_trace_query'(forward(redo,G0), G, M, GoalNumber, H) :-
|
||||
GoalNumber > G0,
|
||||
!,
|
||||
catch(
|
||||
'$trace_goal'(G, M, GoalNumber, H),
|
||||
E,
|
||||
'$re_trace_query'(E, G,M, GoalNumber, H)
|
||||
).
|
||||
'$re_trace_query'(forward(C,G0), _G, _Module, _GoalNumber, _H) :-
|
||||
throw(forward(C,G0)).
|
||||
'$trace_port_'(redo, GoalNumber, G, Module, Info).
|
||||
|
||||
'$trace_port'(Port, GoalNumber, G, Module, _CalledFromDebugger, Info) :-
|
||||
'$stop_creeping'(_) ,
|
||||
current_prolog_flag(debug, true),
|
||||
'__NB_getval__'('$debug_status',state(Skip,Border,_), fail),
|
||||
( Skip == creep -> true; '$id_goal'(GoalNumber) ; GoalNumber =< Border),
|
||||
!,
|
||||
'__NB_setval__'('$debug_status', state(creep, 0, stop)),
|
||||
'$trace_port_'(Port, GoalNumber, G, Module, Info).
|
||||
'$stop_creeping'(_) ,
|
||||
current_prolog_flag(debug, true),
|
||||
'__NB_getval__'('$debug_status',state(Skip,Border,_), fail),
|
||||
( Skip == creep -> true; '$id_goal'(GoalNumber) ; GoalNumber =< Border),
|
||||
!,
|
||||
'__NB_setval__'('$debug_status', state(creep, 0, stop)),
|
||||
'$trace_port_'(Port, GoalNumber, G, Module, Info).
|
||||
'$trace_port'(_Port, _GoalNumber, _G, _Module, _CalledFromDebugger, _Info).
|
||||
|
||||
'$trace_port_'(call, GoalNumber, G, Module, Info) :-
|
||||
'$port'(call,G,Module,GoalNumber,deterministic, Info).
|
||||
'$port'(call,G,Module,GoalNumber,deterministic, Info).
|
||||
'$trace_port_'(exit, GoalNumber, G, Module, Info) :-
|
||||
nb_setarg(6, Info, true),
|
||||
'$port'(exit,G,Module,GoalNumber,deterministic, Info).
|
||||
nb_setarg(6, Info, true),
|
||||
'$port'(exit,G,Module,GoalNumber,deterministic, Info).
|
||||
'$trace_port_'(answer, GoalNumber, G, Module, Info) :-
|
||||
'$port'(exit,G,Module,GoalNumber,nondeterministic, Info).
|
||||
'$port'(exit,G,Module,GoalNumber,nondeterministic, Info).
|
||||
'$trace_port_'(redo, GoalNumber, G, Module, Info) :-
|
||||
'$port'(redo,G,Module,GoalNumber,nondeterministic, Info), /* inform user_error */
|
||||
'$stop_creeping'(_ ).
|
||||
'$port'(redo,G,Module,GoalNumber,nondeterministic, Info), /* inform user_error */
|
||||
'$stop_creeping'(_ ).
|
||||
'$trace_port_'(fail, GoalNumber, G, Module, Info) :-
|
||||
'$port'(fail,G,Module,GoalNumber,deterministic, Info). /* inform user_error */
|
||||
'$port'(fail,G,Module,GoalNumber,deterministic, Info). /* inform user_error */
|
||||
'$trace_port_'(! ,_GoalNumber,_G,_Module,_Imfo) :- /* inform user_error */
|
||||
!.
|
||||
'$trace_port_'(exception(E), GoalNumber, G, Module, Info) :-
|
||||
@ -651,25 +629,47 @@ be lost.
|
||||
|
||||
|
||||
%%% - abort: forward throw while the call is newer than goal
|
||||
%% @pred '$re_trace_query'( Exception, +Goal, +Mod, +GoalID )
|
||||
%
|
||||
% debugger code for exceptions. Recognised cases are:
|
||||
% - abort always forwarded
|
||||
% - redo resets the goal
|
||||
% - fail gives up on the goal.
|
||||
'$TraceError'(abort, _G, _Module, _GoalNumber, _H) :-
|
||||
!,
|
||||
abort.
|
||||
'$TraceError'(error(event(fail),G0), _G, __Module, GoalNumber, _H) :-
|
||||
GoalNumber =< G0,
|
||||
!,
|
||||
fail.
|
||||
'$TraceError'(error(event(redo),G0), G, M, GoalNumber, H) :-
|
||||
GoalNumber =< G0,
|
||||
!,
|
||||
catch(
|
||||
'$trace_goal'(G, M, GoalNumber, H),
|
||||
E,
|
||||
'$TraceError'(E, G, M, GoalNumber, H)
|
||||
).
|
||||
'$TraceError'( error(Id,Info), _, _, _, _) :-
|
||||
!,
|
||||
throw( error(Id, Info) ).
|
||||
%%% - forward through the debugger
|
||||
'$TraceError'(forward('$wrapper',Event), _, _, _, _) :-
|
||||
!,
|
||||
throw(Event).
|
||||
!,
|
||||
throw(Event).
|
||||
%%% - anything else, leave to the user and restore the catch
|
||||
'$TraceError'(Event, GoalNumber, G, Module, CalledFromDebugger) :-
|
||||
'$debug_error'(Event),
|
||||
'$system_catch'(
|
||||
('$port'(exception(Event),G,Module,GoalNumber,_,creep),fail),
|
||||
Module,
|
||||
Error,
|
||||
'$TraceError'(Error, GoalNumber, G, Module, CalledFromDebugger)
|
||||
).
|
||||
'$debug_error'(Event),
|
||||
'$system_catch'(
|
||||
('$port'(exception(Event),G,Module,GoalNumber,_,creep),fail),
|
||||
Module,
|
||||
Error,
|
||||
'$TraceError'(Error, GoalNumber, G, Module, CalledFromDebugger)
|
||||
).
|
||||
|
||||
|
||||
'$debug_error'(Event) :-
|
||||
'$Error'(Event), fail.
|
||||
'$Error'(Event), fail.
|
||||
'$debug_error'(_).
|
||||
|
||||
|
||||
@ -789,9 +789,10 @@ be lost.
|
||||
'__NB_setval__'('$debug_status',status(creep,0,stop)).
|
||||
'$action'(e,_,_,_,_,_) :- !, % 'e exit
|
||||
halt.
|
||||
'$action'(f,_,_,_,_,_) :- !, % 'f fail
|
||||
'$scan_number'( GoalId), %'f
|
||||
throw(forward(fail,GoalId)).
|
||||
'$action'(f,_,CallNumber,_,_,_) :- !, % 'f fail
|
||||
'$scan_number'( ScanNumber),
|
||||
( ScanNumber == 0 -> Goal = CallNumber ; Goal = ScanNumber ),
|
||||
throw(error(event(fail),Goal)).
|
||||
'$action'(h,_,_,_,_,_) :- !, % 'h help
|
||||
'$action_help',
|
||||
skip( debugger_input, 10),
|
||||
@ -834,10 +835,11 @@ be lost.
|
||||
% tell debugger never to stop.
|
||||
'__NB_setval__'('$debug_status', state(zip, 0, ignore)),
|
||||
nodebug.
|
||||
'$action'(r,_,_,_,_,_) :- !, % 'r retry
|
||||
'$action'(r,_,CallNumber,_,_,_) :- !, % 'r retry
|
||||
'$scan_number'(ScanNumber), % '
|
||||
% set_prolog_flag(debug, true),
|
||||
throw(forward(redo,ScanNumber)).
|
||||
% set_prolog_flag(debug, true),
|
||||
( ScanNumber == 0 -> Goal = CallNumber ; Goal = ScanNumber ),
|
||||
throw(error(event(redo),Goal)).
|
||||
'$action'(s,P,CallNumber,_,_,_) :- !, % 's skip
|
||||
skip( debugger_input, 10), % '
|
||||
( (P=call; P=redo) ->
|
||||
@ -869,7 +871,7 @@ be lost.
|
||||
'$show_ancestors'(HowMany),
|
||||
fail.
|
||||
'$action'('T',exception(G),_,_,_,_) :- !, % 'T throw
|
||||
throw( forward('$wrapper',G)).
|
||||
throw( G ).
|
||||
'$action'(C,_,_,_,_,_) :-
|
||||
skip( debugger_input, 10),
|
||||
'$ilgl'(C),
|
||||
|
@ -284,10 +284,10 @@ location( error(_,Info), Level, LC ) -->
|
||||
query_exception(prologStack, Desc, St)
|
||||
},
|
||||
!,
|
||||
display_consulting( File, Level, Info, LC ),
|
||||
display_consulting( File, Level, Info, LC ),
|
||||
{simplify_pred(M:Na/Ar,FF)},
|
||||
[ '~a:~d:0 ~a while executing ~q:'-[File, FilePos,Level,FF] ],
|
||||
[ 'Execution stack is: ~a' - [St]].
|
||||
[ '~a:~d:0 ~a while executing ~q:'-[File, FilePos,Level,FF] ],
|
||||
( { Stack == [] } -> [] ; [ nl, '~s'- [] ]).
|
||||
location( error(_,Info), Level, LC ) -->
|
||||
{ '$error_descriptor'(Info, Desc) },
|
||||
{
|
||||
|
Reference in New Issue
Block a user