typedef void *Dllist; extern Dllist new_dllist(); extern free_dllist(Dllist); extern dll_append(Dllist, Jval); extern dll_prepend(Dllist, Jval); extern dll_insert_b(Dlnode, Jval); extern dll_insert_a(Dlnode, Jval); extern dll_delete_node(Dlnode); extern int dll_empty(Dllist); extern Jval dll_val(Dlnode); extern Dlnode dll_first(Dllist); extern Dlnode dll_last(Dllist); extern Dlnode dll_nil(Dllist); extern Dlnode dll_next(Dlnode); extern Dlnode dll_prev(Dlnode); |
typedef void *Stack; extern Stack new_stack(); extern free_stack(Stack); extern int stack_empty(Stack); extern stack_push(Stack, Jval); extern Jval stack_pop(Stack); /* Look at the top element, but don't take it off */ extern Jval stack_top(Stack); |