move to more recent interface.
This commit is contained in:
parent
2727c04935
commit
ff628b8e78
@ -341,22 +341,22 @@ extern X_API atom_t PL_functor_name(functor_t);
|
||||
extern X_API int PL_functor_arity(functor_t);
|
||||
/* end PL_new_* functions =============================*/
|
||||
/* begin PL_put_* functions =============================*/
|
||||
extern X_API void PL_cons_functor(term_t, functor_t,...);
|
||||
extern X_API void PL_cons_functor_v(term_t, functor_t,term_t);
|
||||
extern X_API void PL_cons_list(term_t, term_t, term_t);
|
||||
extern X_API void PL_put_atom(term_t, atom_t);
|
||||
extern X_API void PL_put_atom_chars(term_t, const char *);
|
||||
extern X_API void PL_put_float(term_t, double);
|
||||
extern X_API void PL_put_functor(term_t, functor_t t);
|
||||
extern X_API void PL_put_int64(term_t, int64_t);
|
||||
extern X_API void PL_put_integer(term_t, long);
|
||||
extern X_API void PL_put_list(term_t);
|
||||
extern X_API void PL_put_list_chars(term_t, const char *);
|
||||
extern X_API int PL_cons_functor(term_t, functor_t,...);
|
||||
extern X_API int PL_cons_functor_v(term_t, functor_t,term_t);
|
||||
extern X_API int PL_cons_list(term_t, term_t, term_t);
|
||||
extern X_API int PL_put_atom(term_t, atom_t);
|
||||
extern X_API int PL_put_atom_chars(term_t, const char *);
|
||||
extern X_API int PL_put_float(term_t, double);
|
||||
extern X_API int PL_put_functor(term_t, functor_t t);
|
||||
extern X_API int PL_put_int64(term_t, int64_t);
|
||||
extern X_API int PL_put_integer(term_t, long);
|
||||
extern X_API int PL_put_list(term_t);
|
||||
extern X_API int PL_put_list_chars(term_t, const char *);
|
||||
extern X_API void PL_put_nil(term_t);
|
||||
extern X_API void PL_put_pointer(term_t, void *);
|
||||
extern X_API void PL_put_string_chars(term_t, const char *);
|
||||
extern X_API void PL_put_term(term_t, term_t);
|
||||
extern X_API void PL_put_variable(term_t);
|
||||
extern X_API int PL_put_pointer(term_t, void *);
|
||||
extern X_API int PL_put_string_chars(term_t, const char *);
|
||||
extern X_API int PL_put_term(term_t, term_t);
|
||||
extern X_API int PL_put_variable(term_t);
|
||||
extern X_API int PL_compare(term_t, term_t);
|
||||
/* end PL_put_* functions =============================*/
|
||||
/* begin PL_unify_* functions =============================*/
|
||||
|
@ -788,7 +788,7 @@ X_API int PL_functor_arity(functor_t f)
|
||||
|
||||
/* begin PL_put_* functions =============================*/
|
||||
|
||||
X_API void PL_cons_functor(term_t d, functor_t f,...)
|
||||
X_API int PL_cons_functor(term_t d, functor_t f,...)
|
||||
{
|
||||
va_list ap;
|
||||
int arity, i;
|
||||
@ -797,12 +797,12 @@ X_API void PL_cons_functor(term_t d, functor_t f,...)
|
||||
|
||||
if (IsAtomTerm((Term)ff)) {
|
||||
Yap_PutInSlot(d, (YAP_Term)f);
|
||||
return;
|
||||
return TRUE;
|
||||
}
|
||||
arity = ArityOfFunctor(ff);
|
||||
if (arity > TMP_BUF_SIZE/sizeof(YAP_CELL)) {
|
||||
fprintf(stderr,"PL_cons_functor: arity too large (%d)\n", arity);
|
||||
return;
|
||||
return FALSE;
|
||||
}
|
||||
va_start (ap, f);
|
||||
for (i = 0; i < arity; i++) {
|
||||
@ -813,45 +813,51 @@ X_API void PL_cons_functor(term_t d, functor_t f,...)
|
||||
Yap_PutInSlot(d,YAP_MkPairTerm(tmp[0],tmp[1]));
|
||||
else
|
||||
Yap_PutInSlot(d,YAP_MkApplTerm((YAP_Functor)ff,arity,tmp));
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
X_API void PL_cons_functor_v(term_t d, functor_t f,term_t a0)
|
||||
X_API int PL_cons_functor_v(term_t d, functor_t f,term_t a0)
|
||||
{
|
||||
int arity;
|
||||
Functor ff = SWIFunctorToFunctor(f);
|
||||
|
||||
if (IsAtomTerm((Term)ff)) {
|
||||
Yap_PutInSlot(d,(Term)ff);
|
||||
return;
|
||||
return TRUE;
|
||||
}
|
||||
arity = ArityOfFunctor(ff);
|
||||
if (arity == 2 && ff == FunctorDot)
|
||||
Yap_PutInSlot(d,YAP_MkPairTerm(Yap_GetFromSlot(a0),Yap_GetFromSlot(a0+1)));
|
||||
else
|
||||
Yap_PutInSlot(d,YAP_MkApplTerm((YAP_Functor)ff,arity,YAP_AddressFromSlot(a0)));
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
X_API void PL_cons_list(term_t d, term_t h, term_t t)
|
||||
X_API int PL_cons_list(term_t d, term_t h, term_t t)
|
||||
{
|
||||
Yap_PutInSlot(d,YAP_MkPairTerm(Yap_GetFromSlot(h),Yap_GetFromSlot(t)));
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
X_API void PL_put_atom(term_t t, atom_t a)
|
||||
X_API int PL_put_atom(term_t t, atom_t a)
|
||||
{
|
||||
Yap_PutInSlot(t,MkAtomTerm(SWIAtomToAtom(a)));
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
X_API void PL_put_atom_chars(term_t t, const char *s)
|
||||
X_API int PL_put_atom_chars(term_t t, const char *s)
|
||||
{
|
||||
Yap_PutInSlot(t,MkAtomTerm(Yap_LookupAtom((char *)s)));
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
X_API void PL_put_float(term_t t, double fl)
|
||||
X_API int PL_put_float(term_t t, double fl)
|
||||
{
|
||||
Yap_PutInSlot(t,YAP_MkFloatTerm(fl));
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
X_API void PL_put_functor(term_t t, functor_t f)
|
||||
X_API int PL_put_functor(term_t t, functor_t f)
|
||||
{
|
||||
long int arity;
|
||||
Functor ff = SWIFunctorToFunctor(f);
|
||||
@ -865,14 +871,16 @@ X_API void PL_put_functor(term_t t, functor_t f)
|
||||
else
|
||||
Yap_PutInSlot(t,YAP_MkNewApplTerm((YAP_Functor)ff,arity));
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
X_API void PL_put_integer(term_t t, long n)
|
||||
X_API int PL_put_integer(term_t t, long n)
|
||||
{
|
||||
Yap_PutInSlot(t,YAP_MkIntTerm(n));
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
X_API void PL_put_int64(term_t t, int64_t n)
|
||||
X_API int PL_put_int64(term_t t, int64_t n)
|
||||
{
|
||||
#if USE_GMP
|
||||
char s[64];
|
||||
@ -881,17 +889,22 @@ X_API void PL_put_int64(term_t t, int64_t n)
|
||||
sprintf(s, "%lld", (long long int)n);
|
||||
mpz_init_set_str (&rop, s, 10);
|
||||
Yap_PutInSlot(t,YAP_MkBigNumTerm((void *)&rop));
|
||||
return TRUE;
|
||||
#else
|
||||
return FALSE;
|
||||
#endif
|
||||
}
|
||||
|
||||
X_API void PL_put_list(term_t t)
|
||||
X_API int PL_put_list(term_t t)
|
||||
{
|
||||
Yap_PutInSlot(t,YAP_MkNewPairTerm());
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
X_API void PL_put_list_chars(term_t t, const char *s)
|
||||
X_API int PL_put_list_chars(term_t t, const char *s)
|
||||
{
|
||||
Yap_PutInSlot(t,YAP_BufferToString((char *)s));
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
X_API void PL_put_nil(term_t t)
|
||||
@ -902,25 +915,29 @@ X_API void PL_put_nil(term_t t)
|
||||
/* SWI: void PL_put_pointer(term_t -t, void *ptr)
|
||||
YAP: NO EQUIVALENT */
|
||||
/* SAM TO DO */
|
||||
X_API void PL_put_pointer(term_t t, void *ptr)
|
||||
X_API int PL_put_pointer(term_t t, void *ptr)
|
||||
{
|
||||
YAP_Term tptr = YAP_MkIntTerm((long int)ptr);
|
||||
Yap_PutInSlot(t,tptr);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
X_API void PL_put_string_chars(term_t t, const char *s)
|
||||
X_API int PL_put_string_chars(term_t t, const char *s)
|
||||
{
|
||||
Yap_PutInSlot(t,YAP_BufferToString((char *)s));
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
X_API void PL_put_term(term_t d, term_t s)
|
||||
X_API int PL_put_term(term_t d, term_t s)
|
||||
{
|
||||
Yap_PutInSlot(d,Yap_GetFromSlot(s));
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
X_API void PL_put_variable(term_t t)
|
||||
X_API int PL_put_variable(term_t t)
|
||||
{
|
||||
Yap_PutInSlot(t,YAP_MkVarTerm());
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* end PL_put_* functions =============================*/
|
||||
|
Reference in New Issue
Block a user