typedef struct term * Term; /* Term is a pointer to a term struct */
struct term {
int private_symbol; /* const/func/pred/var symbol ID */
unsigned char arity; /* number of auguments */
FLAGS_TYPE private_flags; /* for marking terms in various ways */
Term *args; /* array (size arity) of pointers to args */
void *container; /* containing object */
union {
unsigned id; /* unique ID, probably for FPA indexing */
void *vp; /* auxiliary pointer */
} u;
};
BOOL is_term(Term t, char *str, int arity)
{
return t != NULL && is_symbol(SYMNUM(t), str, arity);
} /* is_term */