Реферат: Использование Prolog совместно с другими ЯП
global domains
ilist = integer*
global predicates
inclist(ilist,ilist) - (i,o) language c
goal
inclist([1,2,3,4,5,6,7],L), write(L).
/* Program lstar_c.c */
#define listfno 1
#define nilfno 2
typedef unsigned char BYTE;
void *MEM_AllocGStack(unsigned);
typedef struct ilist {
BYTE Functor;
int Value;
struct ilist *Next;
} INTLIST;
int ListToArray(INTLIST *List,int **ResultArray)
{
INTLIST *SaveList = List;
int *Array, len;
register int *ArrP;
register int i;
/* количество элементов в списке */
i = 0;
while ( List->Functor == listfno ) {
i++;
List = List->Next;
}
len = i;