#ifndef STACK_H #define STACK_H /* $Id: stack.h,v 1.3 1993/10/15 18:49:23 libes dec96 $ */ /* * This work was supported by the United States Government, and is * not subject to copyright. * * $Log: stack.h,v $ * Revision 1.3 1993/10/15 18:49:23 libes * CADDETC certified * * Revision 1.2 1992/08/18 17:15:40 libes * rm'd extraneous error messages * * Revision 1.1 1992/05/28 03:56:02 libes * Initial revision */ /*************/ /* constants */ /*************/ #define STACK_NULL (Stack *)NULL /*****************/ /* packages used */ /*****************/ #include "express/linklist.h" /************/ /* typedefs */ /************/ typedef Linked_List Stack; /****************/ /* modules used */ /****************/ /***************************/ /* hidden type definitions */ /***************************/ /********************/ /* global variables */ /********************/ #ifdef STACK_C # define GLOBAL # define INITIALLY(value) = value #else # define GLOBAL extern # define INITIALLY(value) #endif /* STACK_C */ #undef GLOBAL #undef INITIALLY /*******************************/ /* macro function definitions */ /*******************************/ /* function aliases */ #define STACKinitialize() #define STACKcreate() LISTcreate() #define STACKempty(stack) LISTempty(stack) #define STACKpush(stack, item) LISTadd_first((stack), (item)) #define STACKpop(stack) LISTremove_first(stack) #define STACKpeek(stack) LISTpeek_first(stack) /***********************/ /* function prototypes */ /***********************/ #endif /* STACK_H */