Annotation of OpenXM/src/util/oxlistlocalf.h, Revision 1.2
1.2 ! takayama 1: /* $OpenXM$ */
1.1 takayama 2: union cell {
3: int ival;
4: char *str;
5: struct Object *op;
6: FILE *file;
7: struct stringBuf *sbuf;
8: void *voidp;
9: };
10:
11: struct Object{
12: int tag; /* class identifier */
13: union cell lc; /* left cell */
14: union cell rc; /* right cell */
15: struct object *attr;
16: };
17:
18: struct object{ /* must be compatible with stackm.h */
19: int tag; /* class identifier */
20: union cell lc; /* left cell */
21: union cell rc; /* right cell */
22: struct object *attr;
23: };
24: typedef struct Object * objectp;
25:
26: /**** data types (class identifiers) ************/
27: #define Snull 0
28: #define Sinteger 1 /* integer */
29: #define Sstring 2 /* pointer to a string */
30: #define SexecutableArray 3 /* executable array */
31: #define Soperator 4 /* operators defined in the system dic */
32: #define Sdollar 5 /* pointer to a string obtained from $...$ */
33: #define Sarray 6 /* lc.ival is the size of array,
34: (rc.op)[0], ..., (rc.op)[k] is the array
35: of object */
36: #define SleftBraceTag 7 /* [ */
37: #define SrightBraceTag 8 /* ] */
38: #define Spoly 9
39: #define SarrayOfPOLY 10
40: #define SmatrixOfPOLY 11
41: #define Slist 12 /* list of object */
42: #define Sfile 13
43: #define Sring 14
44: #define SuniversalNumber 15
45: #define SrationalFunction 16
46: #define Sclass 17 /* class, for extension */
47: #define Sdouble 18
48:
49: #define TYPES 19 /* number of data types. */
50: /* NOTE! If you change the above, you need to change mklookup.c too. */
51: /* Change also dr.sm1 : datatype constants. */
52:
53: /* The following tags are not in stackm.h, but we use them. */
54: #define CLASSNAME_CONTEXT 258
55:
56:
57: #define ID 258
58: #define QUOTE 259
59: #define SINGLEQUOTE 260
60: #define NUMBER 261
61: #define CLASS 262
62: #define SUPER 263
63: #define OPERATOR 264
64: #define FINAL 265
65: #define EXTENDS 266
66: #define INCETANCEVARIABLE 267
67: #define THIS 268
68: #define NEW 269
69: #define SIZEOFTHISCLASS 270
70: #define STARTOFTHISCLASS 271
71: #define MODULE 272
72: #define PRINT 273
73: #define LOCAL 274
74: #define DEF 275
75: #define SM1 276
76: #define LOAD 277
77: #define TEST 278
78: #define SPECIAL 279
79: #define AUTO 280
80: #define BREAK 281
81: #define CASE 282
82: #define CHAR 283
83: #define CONST 284
84: #define CONTINUE 285
85: #define DEFAULT 286
86: #define DO 287
87: #define DOUBLE 288
88: #define ELSE 289
89: #define ENUM 290
90: #define EXTERN 291
91: #define FLOAT 292
92: #define FOR 293
93: #define GOTO 294
94: #define IF 295
95: #define INT 296
96: #define LONG 297
97: #define REGISTER 298
98: #define RETURN 299
99: #define SHORT 300
100: #define SIGNED 301
101: #define SIZEOF 302
102: #define STATIC 303
103: #define STRUCT 304
104: #define SWITCH 305
105: #define TYPEDEF 306
106: #define UNION 307
107: #define UNSIGNED 308
108: #define VOLATILE 309
109: #define VOID 310
110: #define WHILE 311
111: #define PSFOR 312
112: #define PROMPT 313
113: #define RESIDUEPUT 314
114: #define NEGATEPUT 315
115: #define MULTPUT 316
116: #define PUT 317
117: #define OR 318
118: #define AND 319
119: #define NOTEQUAL 320
120: #define EQUAL 321
121: #define GREATEREQUAL 322
122: #define LESSEQUAL 323
123: #define RIGHTSHIFT 324
124: #define LEFTSHIFT 325
125: #define DECREMENT 326
126: #define INCREMENT 327
127: #define UNARYMINUS 328
128: #define MEMBER 329
129:
130:
131:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>