/************************************************************************* * * * YAP Prolog * * * * Yap Prolog was developed at NCCUP - Universidade do Porto * * * * Copyright L.Damas, V.S.Costa and Universidade do Porto 1985-1997 * * * ************************************************************************** * * * File: corout.c * * Last rev: * * mods: * * comments: Support to YAP arrays * * * *************************************************************************/ #ifdef SCCS static char SccsId[]="%W% %G%"; #endif /* first, the valid types */ typedef enum { array_of_ints, array_of_chars, array_of_uchars, array_of_doubles, array_of_ptrs, array_of_atoms, array_of_dbrefs, array_of_nb_terms, array_of_terms } static_array_types; /* This should never be followed by GC */ typedef struct array_access_struct { Functor array_access_func; /* identifier of array access */ Term ArrayT; /* term that references the array */ Term indx; /* index in array, for now keep it as an integer! */ } array_access; struct static_array_entry * Yap_StaticVector( Atom Name, size_t size, static_array_types props ); struct static_array_entry * Yap_StaticArray(Atom na, size_t dim, static_array_types type, CODEADDR start_addr, struct static_array_entry *p);