Mercurial > hg > CbC > old > device
comparison mc.h @ 500:0a4ca939f403
inline continue...
author | kono |
---|---|
date | Fri, 23 Dec 2005 14:27:32 +0900 |
parents | a379da780856 |
children | e58848f6ebc1 |
comparison
equal
deleted
inserted
replaced
499:d2570c00ca54 | 500:0a4ca939f403 |
---|---|
154 #define LCALL 10 | 154 #define LCALL 10 |
155 #define COMMENT 11 | 155 #define COMMENT 11 |
156 #define DECL 12 | 156 #define DECL 12 |
157 #define COMP 13 | 157 #define COMP 13 |
158 #define LABEL 14 | 158 #define LABEL 14 |
159 #define IVAR 15 | |
159 | 160 |
160 #define NULLARY_ARGS(i) (i==RETURN||i==ENVIRONMENT||i==LCALL||i==REGISTER||i==DREGISTER||i==FREGISTER||i==LREGISTER||(GVAR<=(i%SOP)&&(i%SOP)<=LABEL)) | 161 #define NULLARY_ARGS(i) (i==RETURN||i==ENVIRONMENT||i==LCALL||i==REGISTER||i==DREGISTER||i==FREGISTER||i==LREGISTER||(GVAR<=(i%SOP)&&(i%SOP)<=LABEL)) |
161 | 162 |
162 /* unary argments */ | 163 /* unary argments */ |
163 | 164 |
164 #define ADDRESS 15 | 165 #define ADDRESS 16 |
165 #define MINUS 16 | 166 #define MINUS 17 |
166 #define LNOT 17 | 167 #define LNOT 18 |
167 #define BNOT 18 | 168 #define BNOT 19 |
168 #define INC 19 | 169 #define INC 20 |
169 #define POSTINC 20 | 170 #define POSTINC 21 |
170 #define UPOSTINC 21 | 171 #define UPOSTINC 22 |
171 #define PREINC 22 | 172 #define PREINC 23 |
172 #define UPREINC 23 | 173 #define UPREINC 24 |
173 #define POSTDEC 24 | 174 #define POSTDEC 25 |
174 #define UPOSTDEC 25 | 175 #define UPOSTDEC 26 |
175 #define PREDEC 26 | 176 #define PREDEC 27 |
176 #define UPREDEC 27 | 177 #define UPREDEC 28 |
177 #define DEC 28 | 178 #define DEC 29 |
178 #define CPOSTINC (COP+POSTINC) | 179 #define CPOSTINC (COP+POSTINC) |
179 #define CUPOSTINC (COP+UPOSTINC) | 180 #define CUPOSTINC (COP+UPOSTINC) |
180 #define CPREINC (COP+PREINC) | 181 #define CPREINC (COP+PREINC) |
181 #define CUPREINC (COP+UPREINC) | 182 #define CUPREINC (COP+UPREINC) |
182 #define CPOSTDEC (COP+POSTDEC) | 183 #define CPOSTDEC (COP+POSTDEC) |
197 #define DPREINC (DOP+PREINC) | 198 #define DPREINC (DOP+PREINC) |
198 #define LPOSTINC (LOP+POSTINC) | 199 #define LPOSTINC (LOP+POSTINC) |
199 #define LPREINC (LOP+PREINC) | 200 #define LPREINC (LOP+PREINC) |
200 #define LUPOSTINC (LOP+UPOSTINC) | 201 #define LUPOSTINC (LOP+UPOSTINC) |
201 #define LUPREINC (LOP+UPREINC) | 202 #define LUPREINC (LOP+UPREINC) |
202 #define INDIRECT 29 | 203 #define INDIRECT 30 |
203 #define RINDIRECT 30 | 204 #define RINDIRECT 31 |
204 #define URINDIRECT 31 | 205 #define URINDIRECT 32 |
205 #define CRINDIRECT (COP+RINDIRECT) | 206 #define CRINDIRECT (COP+RINDIRECT) |
206 #define CURINDIRECT (COP+URINDIRECT) | 207 #define CURINDIRECT (COP+URINDIRECT) |
207 #define SRINDIRECT (SOP+RINDIRECT) | 208 #define SRINDIRECT (SOP+RINDIRECT) |
208 #define SURINDIRECT (SOP+URINDIRECT) | 209 #define SURINDIRECT (SOP+URINDIRECT) |
209 #define FRINDIRECT (FOP+RINDIRECT) | 210 #define FRINDIRECT (FOP+RINDIRECT) |
210 #define DRINDIRECT (DOP+RINDIRECT) | 211 #define DRINDIRECT (DOP+RINDIRECT) |
211 #define LRINDIRECT (LOP+RINDIRECT) | 212 #define LRINDIRECT (LOP+RINDIRECT) |
212 #define LURINDIRECT (LOP+URINDIRECT) | 213 #define LURINDIRECT (LOP+URINDIRECT) |
213 #define RSTRUCT 32 | 214 #define RSTRUCT 33 |
214 #define ALLOCA 33 | 215 #define ALLOCA 34 |
215 #define BUILTINP 34 | 216 #define BUILTINP 35 |
216 #define BUILTIN_EXPECT 35 | 217 #define BUILTIN_EXPECT 36 |
217 #define ATTRIBUTE 36 | 218 #define ATTRIBUTE 37 |
218 #define BIT_FIELD 37 | 219 #define BIT_FIELD 38 |
219 #define RBIT_FIELD 38 | 220 #define RBIT_FIELD 39 |
220 #define BPREINC 39 | 221 #define BPREINC 40 |
221 #define BPOSTINC 40 | 222 #define BPOSTINC 41 |
222 #define CONV 41 | 223 #define CONV 42 |
223 | 224 |
224 #define UNARY_ARGS(i) (ADDRESS<=(i%SOP)&&(i%SOP)<=CONV) | 225 #define UNARY_ARGS(i) (ADDRESS<=(i%SOP)&&(i%SOP)<=CONV) |
225 | 226 |
226 /* binary argments */ | 227 /* binary argments */ |
227 | 228 |
228 #define MUL 42 | 229 #define MUL 43 |
229 #define UMUL 43 | 230 #define UMUL 44 |
230 #define DIV 44 | 231 #define DIV 45 |
231 #define UDIV 45 | 232 #define UDIV 46 |
232 #define MOD 46 | 233 #define MOD 47 |
233 #define UMOD 47 | 234 #define UMOD 48 |
234 #define ADD 48 | 235 #define ADD 49 |
235 #define SUB 49 | 236 #define SUB 50 |
236 #define CMP 50 | 237 #define CMP 51 |
237 #define RSHIFT 51 | 238 #define RSHIFT 52 |
238 #define URSHIFT 52 | 239 #define URSHIFT 53 |
239 #define LSHIFT 53 | 240 #define LSHIFT 54 |
240 #define ULSHIFT 54 | 241 #define ULSHIFT 55 |
241 #define GT 55 | 242 #define GT 56 |
242 #define UGT 56 | 243 #define UGT 57 |
243 #define GE 57 | 244 #define GE 58 |
244 #define UGE 58 | 245 #define UGE 59 |
245 #define LT 59 | 246 #define LT 60 |
246 #define ULT 60 | 247 #define ULT 61 |
247 #define LE 61 | 248 #define LE 62 |
248 #define ULE 62 | 249 #define ULE 63 |
249 #define EQ 63 | 250 #define EQ 64 |
250 #define NEQ 64 | 251 #define NEQ 65 |
251 #define BAND 65 | 252 #define BAND 66 |
252 #define EOR 66 | 253 #define EOR 67 |
253 #define BOR 67 | 254 #define BOR 68 |
254 #define LAND 68 | 255 #define LAND 69 |
255 #define LOR 69 | 256 #define LOR 70 |
256 #define ASS 70 | 257 #define ASS 71 |
257 #define UCMP 71 | 258 #define UCMP 72 |
258 #define UCMPGE 72 | 259 #define UCMPGE 73 |
259 #define CMPGE 73 | 260 #define CMPGE 74 |
260 #define CMPEQ 74 | 261 #define CMPEQ 75 |
261 #define CMPNEQ 75 | 262 #define CMPNEQ 76 |
262 #define ASSOP 76 | 263 #define ASSOP 77 |
263 #define COMMA 77 | 264 #define COMMA 78 |
264 | 265 |
265 #define CASS 78 | 266 #define CASS 79 |
266 #define CASSOP 79 | 267 #define CASSOP 80 |
267 #define CUASSOP 80 | 268 #define CUASSOP 81 |
268 | 269 |
269 #define SASS (SOP+CASS) | 270 #define SASS (SOP+CASS) |
270 #define SASSOP (SOP+CASSOP) | 271 #define SASSOP (SOP+CASSOP) |
271 #define SUASSOP (SOP+CUASSOP) | 272 #define SUASSOP (SOP+CUASSOP) |
272 | 273 |
318 #define LURSHIFT (LOP+URSHIFT) | 319 #define LURSHIFT (LOP+URSHIFT) |
319 #define LBAND (LOP+BAND) | 320 #define LBAND (LOP+BAND) |
320 #define LEOR (LOP+EOR) | 321 #define LEOR (LOP+EOR) |
321 #define LBOR (LOP+BOR) | 322 #define LBOR (LOP+BOR) |
322 | 323 |
323 #define BASS 81 | 324 #define BASS 82 |
324 #define BASSOP 82 | 325 #define BASSOP 83 |
325 #define BFD_REPL 83 | 326 #define BFD_REPL 84 |
326 | 327 |
327 #define STASS 84 | 328 #define STASS 85 |
328 | 329 |
329 | 330 |
330 #define BINARY_ARGS(i) (MUL<=(i%SOP)&&(i%SOP)<=STASS) | 331 #define BINARY_ARGS(i) (MUL<=(i%SOP)&&(i%SOP)<=STASS) |
331 | 332 |
332 /* tarnary argments */ | 333 /* tarnary argments */ |
333 | 334 |
334 #define COND 85 | 335 #define COND 86 |
335 #define UCOND 86 | 336 #define UCOND 87 |
336 #define SCOND (SOP+COND) | 337 #define SCOND (SOP+COND) |
337 #define SUCOND (SOP+UCOND) | 338 #define SUCOND (SOP+UCOND) |
338 #define DCOND (DOP+COND) | 339 #define DCOND (DOP+COND) |
339 #define FCOND (FOP+COND) | 340 #define FCOND (FOP+COND) |
340 #define LCOND (LOP+COND) | 341 #define LCOND (LOP+COND) |
342 | 343 |
343 #define TARNARY_ARGS(i) (COND==(i%SOP)||UCOND==(i%SOP)) | 344 #define TARNARY_ARGS(i) (COND==(i%SOP)||UCOND==(i%SOP)) |
344 | 345 |
345 /* not appeared as tags */ | 346 /* not appeared as tags */ |
346 | 347 |
347 #define LPAR 87 | 348 #define LPAR 88 |
348 #define RPAR 88 | 349 #define RPAR 89 |
349 #define LBRA 89 | 350 #define LBRA 90 |
350 #define RBRA 90 | 351 #define RBRA 91 |
351 #define LC 91 | 352 #define LC 92 |
352 #define RC 92 | 353 #define RC 93 |
353 #define COLON 93 | 354 #define COLON 94 |
354 #define SM 94 | 355 #define SM 95 |
355 #define PERIOD 95 | 356 #define PERIOD 96 |
356 #define ARROW 96 | 357 #define ARROW 97 |
357 #define CNAME 97 | 358 #define CNAME 98 |
358 | 359 |
359 #define I2C 98 | 360 #define I2C 99 |
360 #define I2S 99 | 361 #define I2S 100 |
361 #define I2I 100 | 362 #define I2I 101 |
362 #define I2U 101 | 363 #define I2U 102 |
363 #define I2D 102 | 364 #define I2D 103 |
364 #define I2F 103 | 365 #define I2F 104 |
365 #define I2LL 104 | 366 #define I2LL 105 |
366 #define I2ULL 105 | 367 #define I2ULL 106 |
367 | 368 |
368 #define U2UC 106 | 369 #define U2UC 107 |
369 #define U2US 107 | 370 #define U2US 108 |
370 #define U2I 108 | 371 #define U2I 109 |
371 #define U2U 109 | 372 #define U2U 110 |
372 #define U2D 110 | 373 #define U2D 111 |
373 #define U2F 111 | 374 #define U2F 112 |
374 #define U2LL 112 | 375 #define U2LL 113 |
375 #define U2ULL 113 | 376 #define U2ULL 114 |
376 | 377 |
377 | 378 |
378 #define D2I (DOP+I2I) | 379 #define D2I (DOP+I2I) |
379 #define D2U (DOP+I2U) | 380 #define D2U (DOP+I2U) |
380 #define D2D (DOP+I2D) | 381 #define D2D (DOP+I2D) |
405 | 406 |
406 /* tree node tags end */ | 407 /* tree node tags end */ |
407 | 408 |
408 /* statement start */ | 409 /* statement start */ |
409 | 410 |
410 #define ST_DECL 114 | 411 #define ST_DECL 115 |
411 #define ST_IF 115 | 412 #define ST_IF 116 |
412 #define ST_DO 116 | 413 #define ST_DO 117 |
413 #define ST_WHILE 117 | 414 #define ST_WHILE 118 |
414 #define ST_FOR 118 | 415 #define ST_FOR 119 |
415 #define ST_SWITCH 119 | 416 #define ST_SWITCH 120 |
416 #define ST_COMP 120 | 417 #define ST_COMP 121 |
417 #define ST_BREAK 121 | 418 #define ST_BREAK 122 |
418 #define ST_CONTINUE 122 | 419 #define ST_CONTINUE 123 |
419 #define ST_CASE 123 | 420 #define ST_CASE 124 |
420 #define ST_DEFAULT 124 | 421 #define ST_DEFAULT 125 |
421 #define ST_RETURN 125 | 422 #define ST_RETURN 126 |
422 #define ST_GOTO 126 | 423 #define ST_GOTO 127 |
423 #define ST_ASM 127 | 424 #define ST_ASM 128 |
424 #define ST_LABEL 128 | 425 #define ST_LABEL 129 |
425 #define ST_COMMENT 129 | 426 #define ST_COMMENT 130 |
426 | 427 |
427 #define IS_STATEMENT(i) (ST_DECL<=i&&i<=ST_COMMENT) | 428 #define IS_STATEMENT(i) (ST_DECL<=i&&i<=ST_COMMENT) |
428 | 429 |
429 /* statement end */ | 430 /* statement end */ |
430 | 431 |