--- stack/stack.h 2002/03/14 10:39:11 1.14 +++ stack/stack.h 2002/03/16 19:09:54 1.15 @@ -30,6 +30,7 @@ /* A value of some type */ typedef struct { enum { + empty, /* The empty list */ integer, tfloat, string, @@ -84,9 +85,6 @@ /* An environment; gives access to the stack and a hash table of defined symbols */ typedef struct { - stackitem *gc_ref; - int gc_limit, gc_count; - value *head; /* Head of the stack */ hashtbl symbols; /* Hash table of all variable bindings */ int err; /* Error flag */ @@ -95,6 +93,11 @@ read from in_string */ FILE *inputstream; /* stdin or a file, most likely */ int interactive; /* print prompts, stack, etc */ + + /* Garbage Collector stuff*/ + stackitem *gc_ref; /* Stack of all allocated values */ + int gc_limit; /* Run GC when this much is allocated */ + int gc_count; /* Amount currently allocated */ } environment; /* A type for pointers to external functions */