typedef CHANGEME DATA; typedef struct stack { DATA d; struct stack *next; } ELEMENT; typedef ELEMENT *TOP; int isempty(TOP); /* empty in stack.adt */ DATA top(TOP); /* top in stack.adt*/ void pop(TOP*, DATA*); /* after pop(&S, &i) S'=pop(S) and i'=top(S)*/ void push( TOP *t, DATA x); /*After push(&S, x) S'=push(S,x). */