+++ /dev/null
-#ifndef SLIST_H\r
-#define SLIST_H\r
-\r
-/*\r
- * SList.h\r
- *\r
- * SOFTWARE RIGHTS\r
- *\r
- * We reserve no LEGAL rights to SORCERER -- SORCERER is in the public\r
- * domain. An individual or company may do whatever they wish with\r
- * source code distributed with SORCERER or the code generated by\r
- * SORCERER, including the incorporation of SORCERER, or its output, into\r
- * commerical software.\r
- *\r
- * We encourage users to develop software with SORCERER. However, we do\r
- * ask that credit is given to us for developing SORCERER. By "credit",\r
- * we mean that if you incorporate our source code into one of your\r
- * programs (commercial product, research project, or otherwise) that you\r
- * acknowledge this fact somewhere in the documentation, research report,\r
- * etc... If you like SORCERER and have developed a nice tool with the\r
- * output, please mention that you developed it using SORCERER. In\r
- * addition, we ask that this header remain intact in our source code.\r
- * As long as these guidelines are kept, we expect to continue enhancing\r
- * this system and expect to make other tools available as they are\r
- * completed.\r
- *\r
- * SORCERER 1.00B\r
- * Terence Parr\r
- * AHPCRC, University of Minnesota\r
- * 1992-1994\r
- */\r
-\r
-#include "sorcerer.h"\r
-\r
-typedef struct _SList {\r
- void *elem; /* pointer to any kind of element */\r
- struct _SList *next;\r
- } SList;\r
-\r
-#define newSList (SList *) calloc(1, sizeof(SList));\r
-\r
-#ifdef __USE_PROTOS\r
-extern void *slist_iterate(SList *list, SList **);\r
-extern void slist_add( SList **list, void *e );\r
-extern void slist_free(SList *list);\r
-#else\r
-extern void *slist_iterate();\r
-extern void slist_add();\r
-extern void slist_free();\r
-#endif\r
-\r
-#endif\r