309 lines
		
	
	
		
			9.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			309 lines
		
	
	
		
			9.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/*************************************************************************
 | 
						|
*									 *
 | 
						|
*	 YAP Prolog 	@(#)c_interface.h	2.2			 *
 | 
						|
*	Yap Prolog was developed at NCCUP - Universidade do Porto	 *
 | 
						|
*									 *
 | 
						|
* Copyright L.Damas, V.S.Costa and Universidade do Porto 1985-1997	 *
 | 
						|
*									 *
 | 
						|
**************************************************************************
 | 
						|
*									 *
 | 
						|
* File:		c_interface.h						 *
 | 
						|
* Last rev:	19/2/88							 *
 | 
						|
* mods:									 *
 | 
						|
* comments:	c_interface header file for YAP				 *
 | 
						|
*									 *
 | 
						|
*************************************************************************/
 | 
						|
 | 
						|
#if  !defined(_c_interface_h) && !defined(_YAP_NOT_INSTALLED_)
 | 
						|
 | 
						|
#define _c_interface_h 1
 | 
						|
 | 
						|
#include "YapInterface.h"
 | 
						|
 | 
						|
#define CELL YAP_CELL
 | 
						|
 | 
						|
#ifndef Bool
 | 
						|
#define Bool YAP_Bool
 | 
						|
#endif
 | 
						|
 | 
						|
#define Int long int
 | 
						|
 | 
						|
#define flt double
 | 
						|
 | 
						|
#define Term YAP_Term
 | 
						|
 | 
						|
#define Functor YAP_Functor
 | 
						|
 | 
						|
#define Atom YAP_Atom
 | 
						|
 | 
						|
#define yap_init_args YAP_init_args
 | 
						|
 | 
						|
#define A(X) YAP_A(X)
 | 
						|
#define ARG1 YAP_ARG1
 | 
						|
#define ARG2 YAP_ARG2
 | 
						|
#define ARG3 YAP_ARG3
 | 
						|
#define ARG4 YAP_ARG4
 | 
						|
#define ARG5 YAP_ARG5
 | 
						|
#define ARG6 YAP_ARG6
 | 
						|
#define ARG7 YAP_ARG7
 | 
						|
#define ARG8 YAP_ARG8
 | 
						|
#define ARG9 YAP_ARG9
 | 
						|
#define ARG10 YAP_ARG10
 | 
						|
#define ARG11 YAP_ARG11
 | 
						|
#define ARG12 YAP_ARG12
 | 
						|
#define ARG13 YAP_ARG13
 | 
						|
#define ARG14 YAP_ARG14
 | 
						|
#define ARG15 YAP_ARG15
 | 
						|
#define ARG16 YAP_ARG16
 | 
						|
 | 
						|
/*  YAP_Term Deref(YAP_Term)  */
 | 
						|
#define Deref(t)  YAP_Deref(t)
 | 
						|
#define YapDeref(t)  YAP_Deref(t)
 | 
						|
 | 
						|
/*  YAP_Bool IsVarTerm(YAP_Term) */
 | 
						|
#define IsVarTerm(t)  YAP_IsVarTerm(t)
 | 
						|
#define YapIsVarTerm(t)  YAP_IsVarTerm(t)
 | 
						|
 | 
						|
/*  YAP_Bool IsNonVarTerm(YAP_Term) */
 | 
						|
#define IsNonVarTerm(t)  YAP_IsNonVarTerm(t)
 | 
						|
#define YapIsNonVarTerm(t)  YAP_IsNonVarTerm(t)
 | 
						|
 | 
						|
/*  YAP_Term  MkVarTerm()  */
 | 
						|
#define MkVarTerm()  YAP_MkVarTerm()
 | 
						|
#define YapMkVarTerm()  YAP_MkVarTerm()
 | 
						|
 | 
						|
/*  YAP_Bool IsIntTerm(YAP_Term)  */
 | 
						|
#define IsIntTerm(t)  YAP_IsIntTerm(t)
 | 
						|
#define YapIsIntTerm(t)  YAP_IsIntTerm(t)
 | 
						|
 | 
						|
/*  YAP_Bool IsFloatTerm(YAP_Term)  */
 | 
						|
#define IsFloatTerm(t)  YAP_IsFloatTerm(t)
 | 
						|
#define YapIsFloatTerm(t)  YAP_IsFloatTerm(t)
 | 
						|
 | 
						|
/*  YAP_Bool IsDbRefTerm(YAP_Term)  */
 | 
						|
#define IsDbRefTerm(t)  YAP_IsDbRefTerm(t)
 | 
						|
#define YapIsDbRefTerm(t)  YAP_IsDbRefTerm(t)
 | 
						|
 | 
						|
/*  YAP_Bool IsAtomTerm(YAP_Term)  */
 | 
						|
#define IsAtomTerm(t)  YAP_IsAtomTerm(t)
 | 
						|
#define YapIsAtomTerm(t)  YAP_IsAtomTerm(t)
 | 
						|
 | 
						|
/*  YAP_Bool IsPairTerm(YAP_Term)  */
 | 
						|
#define IsPairTerm(t)  YAP_IsPairTerm(t)
 | 
						|
#define YapIsPairTerm(t)  YAP_IsPairTerm(t)
 | 
						|
 | 
						|
/*  YAP_Bool IsApplTerm(YAP_Term)  */
 | 
						|
#define IsApplTerm(t)  YAP_IsApplTerm(t)
 | 
						|
#define YapIsApplTerm(t)  YAP_IsApplTerm(t)
 | 
						|
 | 
						|
/*    Term MkIntTerm(YAP_Int)  */
 | 
						|
#define MkIntTerm(t)  YAP_MkIntTerm(t)
 | 
						|
#define YapMkIntTerm(t)  YAP_MkIntTerm(t)
 | 
						|
 | 
						|
/*    YAP_Int  IntOfTerm(Term) */
 | 
						|
#define IntOfTerm(t)  YAP_IntOfTerm(t)
 | 
						|
#define YapIntOfTerm(t)  YAP_IntOfTerm(t)
 | 
						|
 | 
						|
/*    Term MkFloatTerm(YAP_flt)  */
 | 
						|
#define MkFloatTerm(f)  YAP_MkFloatTerm(f)
 | 
						|
#define YapMkFloatTerm(f)  YAP_MkFloatTerm(f)
 | 
						|
 | 
						|
/*    YAP_flt  FloatOfTerm(YAP_Term) */
 | 
						|
#define FloatOfTerm(t)  YAP_FloatOfTerm(t)
 | 
						|
#define YapFloatOfTerm(t)  YAP_FloatOfTerm(t)
 | 
						|
 | 
						|
/*    Term MkAtomTerm(Atom)  */
 | 
						|
#define MkAtomTerm(a)  YAP_MkAtomTerm(a)
 | 
						|
#define YapMkAtomTerm(a)  YAP_MkAtomTerm(a)
 | 
						|
 | 
						|
/*    YAP_Atom  AtomOfTerm(Term) */
 | 
						|
#define AtomOfTerm(t)  YAP_AtomOfTerm(t)
 | 
						|
#define YapAtomOfTerm(t)  YAP_AtomOfTerm(t)
 | 
						|
 | 
						|
/*    YAP_Atom  LookupAtom(char *) */
 | 
						|
#define LookupAtom(s)  YAP_LookupAtom(s)
 | 
						|
#define YapLookupAtom(s)  YAP_LookupAtom(s)
 | 
						|
 | 
						|
/*    YAP_Atom  FullLookupAtom(char *) */
 | 
						|
#define FullLookupAtom(s)  YAP_FullLookupAtom(s)
 | 
						|
#define YapFullLookupAtom(s)  YAP_FullLookupAtom(s)
 | 
						|
 | 
						|
/*    char* AtomName(YAP_Atom) */
 | 
						|
#define AtomName(a)  YAP_AtomName(a)
 | 
						|
#define YapAtomName(a)  YAP_AtomName(a)
 | 
						|
 | 
						|
/*    YAP_Term  MkPairTerm(YAP_Term Head, YAP_Term Tail) */
 | 
						|
#define MkPairTerm(h,t)  YAP_MkPairTerm(h,t)
 | 
						|
#define YapMkPairTerm(h,t)  YAP_MkPairTerm(h,t)
 | 
						|
 | 
						|
/*    YAP_Term  MkNewPairTerm(void) */
 | 
						|
#define MkNewPairTerm()  YAP_MkNewPairTerm()
 | 
						|
#define YapMkNewPairTerm()  YAP_MkNewPairTerm()
 | 
						|
 | 
						|
/*    Term  HeadOfTerm(Term)  */
 | 
						|
#define HeadOfTerm(t)  YAP_HeadOfTerm(t)
 | 
						|
#define YapHeadOfTerm(t)  YAP_HeadOfTerm(t)
 | 
						|
 | 
						|
/*    Term  TailOfTerm(Term)  */
 | 
						|
#define TailOfTerm(t)  YAP_TailOfTerm(t)
 | 
						|
#define YapTailOfTerm(t)  YAP_TailOfTerm(t)
 | 
						|
 | 
						|
/*    YAP_Term     MkApplTerm(YAP_Functor f, int n, YAP_Term[] args) */
 | 
						|
#define MkApplTerm(f,i,ts)  YAP_MkApplTerm(f,i,ts)
 | 
						|
#define YapMkApplTerm(f,i,ts)  YAP_MkApplTerm(f,i,ts)
 | 
						|
 | 
						|
/*    YAP_Term     MkNewApplTerm(YAP_Functor f, int n) */
 | 
						|
#define MkNewApplTerm(f,i)  YAP_MkNewApplTerm(f,i)
 | 
						|
#define YapMkNewApplTerm(f,i)  YAP_MkNewApplTerm(f,i)
 | 
						|
 | 
						|
/*    YAP_Functor  YAP_FunctorOfTerm(Term)  */
 | 
						|
#define FunctorOfTerm(t)  YAP_FunctorOfTerm(t)
 | 
						|
#define YapFunctorOfTerm(t)  YAP_FunctorOfTerm(t)
 | 
						|
 | 
						|
/*    YAP_Term     ArgOfTerm(int argno,YAP_Term t) */
 | 
						|
#define ArgOfTerm(i,t)  YAP_ArgOfTerm(i,t)
 | 
						|
#define YapArgOfTerm(i,t)  YAP_ArgOfTerm(i,t)
 | 
						|
 | 
						|
/*    YAP_Functor  MkFunctor(YAP_Atom a,int arity) */
 | 
						|
#define MkFunctor(a,i)  YAP_MkFunctor(a,i)
 | 
						|
#define YapMkFunctor(a,i)  YAP_MkFunctor(a,i)
 | 
						|
 | 
						|
/*    YAP_Atom     NameOfFunctor(Functor) */
 | 
						|
#define NameOfFunctor(f)  YAP_NameOfFunctor(f)
 | 
						|
#define YapNameOfFunctor(f)  YAP_NameOfFunctor(f)
 | 
						|
 | 
						|
/*    YAP_Int    YAP_ArityOfFunctor(Functor) */
 | 
						|
#define ArityOfFunctor(f)  YAP_ArityOfFunctor(f)
 | 
						|
#define YapArityOfFunctor(f)  YAP_ArityOfFunctor(f)
 | 
						|
 | 
						|
#define PRESERVE_DATA(ptr, type) (ptr = (type *)YAP_ExtraSpace())
 | 
						|
#define PRESERVED_DATA(ptr, type) (ptr = (type *)YAP_ExtraSpace())
 | 
						|
#define PRESERVED_DATA_CUT(ptr,type) (ptr = (type *)YAP_ExtraSpaceCut())
 | 
						|
 | 
						|
/*   YAP_Int      unify(YAP_Term a, YAP_Term b) */
 | 
						|
#define unify(t1,t2)  YAP_Unify(t1, t2)
 | 
						|
#define YapUnify(t1,t2)  YAP_Unify(t1, t2)
 | 
						|
 | 
						|
/*  void UserCPredicate(char *name, int *fn(), int arity) */
 | 
						|
#define UserCPredicate(s,f,i)  YAP_UserCPredicate(s,f,i);
 | 
						|
 | 
						|
/*  void UserBackCPredicate(char *name, int *init(), int *cont(), int
 | 
						|
    arity, int extra) */
 | 
						|
#define UserBackCPredicate(s,f1,f2,i,i2)  YAP_UserBackCPredicate(s,f1,f2,i,i2)
 | 
						|
 | 
						|
/*  void UserCPredicate(char *name, int *fn(), int arity) */
 | 
						|
#define UserCPredicateWithArgs(s,f,i1,i2)  YAP_UserCPredicateWithArgs(s,f,i1,i2)
 | 
						|
/*  void CallProlog(YAP_Term t) */
 | 
						|
#define CallProlog(t)  YAP_CallProlog(t)
 | 
						|
#define YapCallProlog(t)  YAP_CallProlog(t)
 | 
						|
 | 
						|
/*  void cut_fail(void) */
 | 
						|
#define cut_fail()  YAP_cut_fail()
 | 
						|
 | 
						|
/*  void cut_succeed(void) */
 | 
						|
#define cut_succeed()  YAP_cut_succeed()
 | 
						|
 | 
						|
/*  void *AllocSpaceFromYap(int) */
 | 
						|
#define AllocSpaceFromYap(s)  YAP_AllocSpaceFromYap(s)
 | 
						|
 | 
						|
/*  void FreeSpaceFromYap(void *) */
 | 
						|
#define FreeSpaceFromYap(s)  YAP_FreeSpaceFromYap(s)
 | 
						|
 | 
						|
/*  int YAP_RunGoal(YAP_Term) */
 | 
						|
#define RunGoal(t)  YAP_RunGoal(t)
 | 
						|
#define YapRunGoal(t)  YAP_RunGoal(t)
 | 
						|
 | 
						|
/*  int YAP_RestartGoal(void) */
 | 
						|
#define RestartGoal()  YAP_RestartGoal()
 | 
						|
#define YapRestartGoal()  YAP_RestartGoal()
 | 
						|
 | 
						|
/*  int YAP_ContinueGoal(void) */
 | 
						|
#define ContinueGoal()  YAP_ContinueGoal()
 | 
						|
#define YapContinueGoal()  YAP_ContinueGoal()
 | 
						|
 | 
						|
/*  void YAP_PruneGoal(void) */
 | 
						|
#define PruneGoal()  YAP_PruneGoal()
 | 
						|
#define YapPruneGoal()  YAP_PruneGoal()
 | 
						|
 | 
						|
/*  int YAP_GoalHasException(void) */
 | 
						|
#define GoalHasException(tp)  YAP_GoalHasException(tp)
 | 
						|
#define YapGoalHasException(tp)  YAP_GoalHasException(tp)
 | 
						|
 | 
						|
/*  int YAP_Reset(void) */
 | 
						|
#define YapReset()  YAP_Reset()
 | 
						|
 | 
						|
/*  void YAP_Error(char *) */
 | 
						|
#define YapError(s)  YAP_Error(s)
 | 
						|
 | 
						|
/*  YAP_Term YAP_Read(int (*)(void)) */
 | 
						|
#define YapRead(f)  YAP_Read(f);
 | 
						|
 | 
						|
/*  void YAP_Write(YAP_Term,void (*)(int),int) */
 | 
						|
#define YapWrite(t,f)  YAP_Write(t,f);
 | 
						|
 | 
						|
/*  char *YAP_CompileClause(YAP_Term) */
 | 
						|
#define CompileClause(t)  YAP_CompileClause(t)
 | 
						|
#define YapCompileClause(t)  YAP_CompileClause(t)
 | 
						|
 | 
						|
/*  int YAP_Init(YAP_init_args *) */
 | 
						|
#define YapInit(as)  YAP_Init(as)
 | 
						|
 | 
						|
/*  int YAP_FastInit(char *) */
 | 
						|
#define YapFastInit(s)  YAP_FastInit(s)
 | 
						|
 | 
						|
/*  int YAP_InitConsult(int, char *) */
 | 
						|
#define YapInitConsult(i,s)  YAP_InitConsult(i,s)
 | 
						|
 | 
						|
/*  int YAP_StartConsult(int, char *) */
 | 
						|
#define YapEndConsult()  YAP_EndConsult()
 | 
						|
 | 
						|
/*  void YAP_Exit(int) */
 | 
						|
#define YapExit(code)  YAP_Exit(code)
 | 
						|
 | 
						|
/*  void YAP_PutValue(YAP_Atom, YAP_Term) */
 | 
						|
#define PutValue()  YAP_PutValue(a, t)
 | 
						|
#define YapPutValue()  YAP_PutValue(a, t)
 | 
						|
 | 
						|
/*  YAP_Term YAP_GetValue(YAP_Atom) */
 | 
						|
#define GetValue(a)  YAP_GetValue(a)
 | 
						|
#define YapGetValue(a)  YAP_GetValue(a)
 | 
						|
 | 
						|
/*  int StringToBuffer(YAP_Term,char *,unsigned int) */
 | 
						|
#define StringToBuffer(t,s,l)  YAP_StringToBuffer(t,s,l)
 | 
						|
#define YapStringToBuffer(t,s,l)  YAP_StringToBuffer(t,s,l)
 | 
						|
 | 
						|
/*  int BufferToString(char *) */
 | 
						|
#define BufferToString(s)  YAP_BufferToString(s)
 | 
						|
#define YapBufferToString(s)  YAP_BufferToString(s)
 | 
						|
 | 
						|
/*  int BufferToAtomList(char *) */
 | 
						|
#define BufferToAtomList(s)  YAP_BufferToAtomList(s)
 | 
						|
#define YapBufferToAtomList(s)  YAP_BufferToAtomList(s)
 | 
						|
 | 
						|
/*  void YAP_InitSocks(char *,long) */
 | 
						|
#define InitSocks(s,l)  YAP_InitSocks(s,l)
 | 
						|
#define YapInitSocks(s,l)  YAP_InitSocks(s,l)
 | 
						|
 | 
						|
#ifdef  SFUNC
 | 
						|
 | 
						|
#define SFArity  0
 | 
						|
#define ArgsOfSFTerm(s,t) YAP_ArgsOfSFTerm(s,t)
 | 
						|
 | 
						|
extern  MkSFTerm(t) YAP_MkSFTerm(t)
 | 
						|
 | 
						|
#endif /* SFUNC */
 | 
						|
 | 
						|
/*  YAP_Term  YAP_SetOutputMessage()  */
 | 
						|
#define YapSetOutputMessage(s)  YAP_SetOutputMessage(s)
 | 
						|
 | 
						|
/*  YAP_Term  YAP_SetOutputMessage()  */
 | 
						|
#define YapStreamToFileNo(st)  YAP_StreamToFileNo(st)
 | 
						|
 | 
						|
/*  YAP_Term  YAP_SetOutputMessage()  */
 | 
						|
#define YapCloseAllOpenStreams()  YAP_CloseAllOpenStreams()
 | 
						|
 | 
						|
/*  YAP_Term  YAP_OpenStream()  */
 | 
						|
#define YapOpenStream(st, s, t, i)  YAP_OpenStream(st, s, t, i)
 | 
						|
 | 
						|
#endif
 |