3 * (C) Copyright May 7 1995, Edmond J. Breen.
5 * This code may be copied for personal, non-profit use only.
18 typedef enum {/* the order of members in obj_t is important as it is
19 * reflected in the binary operator function table BINFUN in
22 t_error, t_bool, t_char, t_uchar, t_short, t_ushort, /*5*/
23 t_int, t_enum, t_uint, t_long, t_ulong, t_llong, /*11*/
25 t_double, t_pointer, t_void, t_struct, t_union, /*17*/
26 t_lval, t_array, t_func, t_funcdec, t_elem, t_eic, /*23*/
27 t_builtin, t_var, t_hidden, t_ref
31 #define isArithmetic(t) (t >= t_char && t <= t_double)
32 #define isIntegral(t) (t >= t_char && t <= t_ulong)
48 enum {c_auto=1,c_static=2,c_register=4,c_typedef=8,
49 c_extern=16, c_base=32, c_private=64, c_enum=128};
51 typedef enum { /* keyword symbols */
53 breaksym, casesym, charsym, constsym, continuesym,
54 defaultsym, dosym, doublesym, eiclongjmpsym, eicsetjmpsym, elsesym, enumsym, externsym,
55 floatsym, forsym, gotosym, idsym, ifsym, intsym, longsym,
56 registersym, returnsym, safesym, shortsym, signedsym, sizeofsym,
57 staticsym, structsym, switchsym, typedefsym, unionsym,
58 unsignedsym, unsafesym, voidsym, volatilesym, whilesym
63 #include "datastruct.h"
66 extern environ_t * EiC_ENV;
68 /*CUT nameSpaceCodes*/
69 extern int EiC_work_tab;
70 enum{ /* name space codes */
71 eic_tab, /* name space for EiC commands */
72 stand_tab, /* name space for basic variables */
73 tag_tab, /* name space for struct/union and enumeration tags */
74 lab_tab /* name space for goto labels */
78 enum {eickmark, eicgstring, eicstay};