Move the sources to trunk
[opencv] / apps / cvenv / EiC / global.h
1 /* global.h
2  *
3  *      (C) Copyright May  7 1995, Edmond J. Breen.
4  *                 ALL RIGHTS RESERVED.
5  * This code may be copied for personal, non-profit use only.
6  *
7  */
8 #ifndef GLOBALH
9 #define GLOBALH
10
11 #define  DONE   0
12 #define BSIZE 128
13 #define NONE -1
14 #define EOS  '\0'
15 #define TRUE    1
16 #define FALSE   0
17
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 
20         * typesets.c 
21         */
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*/
24     t_float,                                                       /*12*/
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
28 } obj_t;
29
30 /* unsafe macros */
31 #define isArithmetic(t) (t >= t_char && t <= t_double)
32 #define isIntegral(t)   (t >= t_char && t <= t_ulong)
33
34 typedef struct {
35     char *id;
36     int  token;
37 } keyword_t;
38
39 /* qualifiers */
40 enum {q_notset = 0,
41           q_const=2,
42           q_constp = 4,
43           q_volatile = 8,
44           q_temp = 16,
45           q_unsafe = 32};
46
47 /* storage class */
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};
50
51 typedef enum { /* keyword symbols */
52     autosym = 300,
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
59 } keysyms_t;
60
61
62 #include "typemod.h"
63 #include "datastruct.h"
64
65
66 extern environ_t * EiC_ENV;
67
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 */
75     };
76                    /*END CUT*/ 
77
78 enum {eickmark, eicgstring, eicstay};
79
80
81 #endif
82
83
84
85
86
87
88
89