El fichero lelisp.h se encuentra dentro de la distribución estándar de LE-LISP y contiene las estructuras C necesarias para trabajar con objetos LE-LISP desde funciones escritas en lenguaje C. Se debe incluir la directiva #include "lelisp.h" en todos aquellos programas que precisen manipular objetos LE-LISP, aunque dicha manipulación sea una actividad desaconsejada por los propios constructores del sistema LE-LISP.
A continuación se muestra una lista de las declaraciones de estructuras y tipos más interesantes incluidas en lelisp.h:
typedef char *LL_OBJECT;
struct LL_CONS {
LL_OBJECT ll_car;
LL_OBJECT ll_cdr;
};
struct LL_SYMBOL {
LL_OBJECT ll_cval;
LL_OBJECT ll_plist;
LL_OBJECT ll_fval;
LL_OBJECT ll_alink;
LL_OBJECT ll_pkgc;
LL_OBJECT ll_oval;
char ll_ftype;
char ll_ptype;
short ll_pad;
LL_OBJECT ll_pname;
};
struct LL_STRING {
struct {
struct LL_STRING *ll_strarr; /* enlace a otros strings */
int ll_strsiz; /* numero de caracteres */
char ll_strfil; /* direccion del primer
* caracter */
} *ll_strobj;
LL_OBJECT ll_strtyp; /* puntero al simbolo LE-LISP */
};
struct LL_VECTOR {
struct {
struct LL_VECTOR *ll_vecarr; /* enlace a otros vectores */
int ll_vecsiz; /* numero de elementos */
LL_OBJECT ll_vecfil; /* direccion del primer
* elemento */
} *ll_vecobj;
LL_OBJECT ll_vectyp; /* puntero al simbolo LE-LISP */
};