#include "stack.h" #include "structs.h" PositionStack ps_new(void) { PositionStack ps; ps.top = 0; return ps; } int ps_push(PositionStack *ps, Position pos) { /*TODO: check for stack overflow */ ps->arr[ps->top] = pos; ps->top += 1; return 0; } Position ps_pop(PositionStack *ps) { ps->top -= 1; return ps->arr[ps->top]; } Position ps_peek(PositionStack ps) { return ps.arr[ps.top - 1]; }