home *** CD-ROM | disk | FTP | other *** search
- /*--------------------------------------------------------------*/
- /* ANIMDAT 1.1 */
- /* copyright 1992 - TODD SANKEY */
- /* */
- /* The author hereby grants permission for the use and sharing */
- /* of both source code end executable versions of this software */
- /* at no charge. This software is not for sale and no other */
- /* shall charge for it without the expressed consent of the */
- /* author. */
- /* */
- /* The source code can be freely modified, but it must retain */
- /* the original copyright notice, and the author must be */
- /* notified of these changes if the altered code is to be */
- /* distributed. */
- /*--------------------------------------------------------------*/
- /*------------------------------------------------------*/
- /* symtab.h Routines for interfacing to a symbol */
- /* table organized as a binary tree. */
- /*------------------------------------------------------*/
-
- #ifndef symtab_h
- #define symtab_h
-
- typedef enum {SYM_DOUBLE, SYM_FILE, SYM_STRING} sym_types;
-
- typedef struct sym_s {
- char *name;
- sym_types sym_type;
- char update_flag;
- void *sym_info;
- double cur_val;
- struct sym_s *left;
- struct sym_s *right;
- } sym, *sym_ptr;
-
-
- sym_ptr search_symtab(sym_ptr symtab, char *name);
- sym_ptr add_symbol(sym_ptr *symtab, char *name);
- void traverse_symtab(sym_ptr symtab,void (*f)(sym_ptr symbol) );
- double eval_symbol(char *name);
- void print_symbol(FILE *ofile, char *name);
-
- #endif