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