struct g_Stack {
char **data; /* A pointer to an array of pointers. */
int Sptr; /* Current stack pointer */
int Max; /* Maximum size of the stack */
};
typedef struct g_Stack Stack;
/*** Access functions ***/
#define STgetItem(st,x) (*(st->data))[x] /** Does no bound checking! **/
#define STgetMax(st) (st->Max)
#define STgetPtr(st) (st->Sptr)