|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T s
Length: 2309 (0x905) Types: TextFile Names: »symtab.h«
└─⟦a0efdde77⟧ Bits:30001252 EUUGD11 Tape, 1987 Spring Conference Helsinki └─⟦this⟧ »EUUGD11/euug-87hel/sec8/ease/src/symtab.h«
/* $Header: /usr/src/local/etc/ease/RCS/symtab.h,v 1.2 85/10/29 23:47:47 jss Exp $ */ /* * symtab.h -- Definitions related to the "et" symbol table. * * author -- James S. Schoner, Purdue University Computing Center, * West Lafayette, Indiana 47907 * * date -- July 1, 1985 * * Copyright (c) 1985 by Purdue Research Foundation * * All rights reserved. * */ #define TRUE 1 #define FALSE 0 #define SST 101 /* size of hash table (symbol table) */ #define RSNMAX 5 /* size of a ruleset number character buffer */ #define VALRSNMAX 9999 /* max value of ruleset number */ /* identifier types */ #define ID_UNTYPED 0 #define ID_MACRO 01 #define ID_CLASS 02 #define ID_RULESET 04 #define ID_FIELD 010 #define ID_PREC 020 #define ID_MAILER 040 /* identifier type macros */ #define ISTYPED(x) (x|ID_UNTYPED) #define ISMACRO(x) (x&ID_MACRO) #define ISCLASS(x) (x&ID_CLASS) #define ISRULESET(x) (x&ID_RULESET) #define ISFIELD(x) (x&ID_FIELD) #define ISPREC(x) (x&ID_PREC) #define ISMAILER(x) (x&ID_MAILER) /* block definition types */ enum bdefs {def_macro, def_class, def_option, def_prec, def_trusted, def_header, def_mailer, def_ruleset}; /* option types */ enum opts {opt_A, opt_a, opt_B, opt_c, opt_D, opt_d, opt_e, opt_F, opt_f, opt_g, opt_H, opt_i, opt_L, opt_m, opt_N, opt_o, opt_Q, opt_r, opt_S, opt_s, opt_T, opt_t, opt_u, opt_v, opt_W, opt_x, opt_X, d_opt_i, d_opt_b, d_opt_q, e_opt_p, e_opt_e, e_opt_m, e_opt_w, e_opt_z}; /* flag types */ enum flgs {flg_f, flg_r, flg_S, flg_n, flg_l, flg_s, flg_m, flg_F, flg_D, flg_M, flg_x, flg_P, flg_u, flg_h, flg_A, flg_U, flg_e, flg_X, flg_L, flg_p, flg_I, flg_C}; /* mailer parameters */ enum mats {mat_path, mat_flags, mat_sender, mat_recipient, mat_argv, mat_eol, mat_maxsize}; struct he { /* hash entry structure for symbol table node */ unsigned idtype; /* identifier type */ unsigned idd; /* identifier definition flag */ char *psb; /* identifier string buffer */ union { char rsn[RSNMAX]; /* ruleset number */ int prec; /* precedence value */ char idc; /* one char id representation */ char *fstring; /* field string */ } idval; struct he *phe; /* next hash entry */ };