3 * (C) Copyright May 7 1995, Edmond J. Breen.
\r
4 * ALL RIGHTS RESERVED.
\r
5 * This code may be copied for personal, non-profit use only.
\r
19 t_error, t_bool, t_char, t_uchar, t_short, t_ushort, /*5*/
\r
20 t_int, t_enum, t_uint, t_long, t_ulong, t_float, /*11*/
\r
21 t_double, t_pointer, t_void, t_struct, t_union, /*16*/
\r
22 t_lval, t_array, t_func, t_funcdec, t_elem, t_eic, /*22*/
\r
23 t_builtin, t_var, t_hidden
\r
27 #define isArithmetic(t) (t >= t_char && t <= t_double)
\r
28 #define isIntegral(t) (t >= t_char && t <= t_ulong)
\r
43 enum {c_auto=1,c_static=2,c_register=4,c_typedef=8,
\r
44 c_extern=16, c_base=32, c_private=64};
\r
46 typedef enum { /* keyword symbols */
\r
48 breaksym, casesym, charsym, constsym, continuesym,
\r
49 defaultsym, dosym, doublesym, elsesym, enumsym, externsym,
\r
50 floatsym, forsym, idsym, ifsym, intsym, longsym,
\r
51 registersym, returnsym, shortsym, signedsym, sizeofsym,
\r
52 staticsym, structsym, switchsym, typedefsym, unionsym,
\r
53 unsignedsym, voidsym, volatilesym, whilesym
\r
57 #include "typemod.h"
\r
58 #include "datastruct.h"
\r
61 extern environ_t * ENV;
\r
63 /*CUT nameSpaceCodes*/
\r
64 extern int work_tab;
\r
65 enum{ /* name space codes */
\r
66 eic_tab, /* name space for EiC commands */
\r
67 stand_tab, /* name space for basic variables */
\r
68 tag_tab /* name space for struct/union and enumeration tags */
\r
72 enum {eickmark, eicgstring, eicstay};
\r
73 int GI(token_t * e1);
\r
75 /* error handling globals
\r
76 ---------------------------*/
\r
77 extern int ParseError; /* if 1 an error has occured */
\r
78 extern int ErrorRecover; /* if 1 attempting to recover from error*/
\r
79 extern int EiC_errs; /* Number of errors and warnings */
\r