/* PURPOSE:
 *    STACK.H: Public interface to the Stack.
 * HISTORY:
 *    Ian D. Allen   idallen@freenet.carleton.ca
 */

#ifndef _STACK_H_
#define _STACK_H_

#include "mem.h"

#include "misc.h"
#include "scanner.h"

/* The definition of the structure that gets pushed on the stack.
 * We define it as the same as the Token, for simplicity.
 */
typedef Token Item;

	Item
pop(void);	/* RET: popped item */

	void
push(
	Item *item	/* IN: pointer to item to push on stack */
);

	Boolean
empty(void);	/* RET: true if stack is empty */

#endif /*_STACK_H_*/
