include support for dynamically created clause lists.

This commit is contained in:
Vitor Santos Costa
2009-02-11 15:10:57 +00:00
parent 76971fa724
commit 1191b039d5
5 changed files with 203 additions and 3 deletions

27
include/clause_list.h Normal file
View File

@@ -0,0 +1,27 @@
#if defined(_MSC_VER) && defined(YAP_EXPORTS)
#define X_API __declspec(dllexport)
#else
#define X_API
#endif
struct ClauseList
{
int n; /*counter*/
void *start;
void *end;
};
typedef struct ClauseList *clause_list_t;
X_API clause_list_t Yap_ClauseListInit(clause_list_t in);
X_API int Yap_ClauseListExtend(clause_list_t cl, void * clause, void *pred);
X_API void Yap_ClauseListClose(clause_list_t cl);
X_API int Yap_ClauseListDestroy(clause_list_t cl);
X_API void *Yap_ClauseListToClause(clause_list_t cl);
X_API void *Yap_ClauseListCode(clause_list_t cl);
X_API void *Yap_FAILCODE(void);
#define ClauseListCount(cl) cl->n
#define ClauseList(cl) cl->start