diff options
Diffstat (limited to 'src/include/stack.h')
-rw-r--r-- | src/include/stack.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/include/stack.h b/src/include/stack.h new file mode 100644 index 0000000..7a16366 --- /dev/null +++ b/src/include/stack.h @@ -0,0 +1,23 @@ +#ifndef STACK_H +#define STACK_H + +#include <stdlib.h> +#include "util.h" + +#define STACK_MAXLEN 256 + +typedef struct STACK { + int sp; /* Index of first unused element of val. */ + void* val[STACK_MAXLEN]; +} stack_t; + +stack_t* stack_init(); +void stack_destroy(stack_t*); + +void stack_push(stack_t* stack, void* val); +void* stack_pop(stack_t* stack); +size_t stack_len(stack_t* stack); + +void stack_print(stack_t* stack); + +#endif |