diff mc.h @ 500:0a4ca939f403

inline continue...
author kono
date Fri, 23 Dec 2005 14:27:32 +0900
parents a379da780856
children e58848f6ebc1
line wrap: on
line diff
--- a/mc.h	Thu Dec 22 12:11:22 2005 +0900
+++ b/mc.h	Fri Dec 23 14:27:32 2005 +0900
@@ -156,25 +156,26 @@
 #define DECL  	12
 #define COMP  	13
 #define LABEL  	14
+#define IVAR  	15
 
 #define NULLARY_ARGS(i) (i==RETURN||i==ENVIRONMENT||i==LCALL||i==REGISTER||i==DREGISTER||i==FREGISTER||i==LREGISTER||(GVAR<=(i%SOP)&&(i%SOP)<=LABEL))
 
 /* unary  argments */
 
-#define ADDRESS	15
-#define MINUS  	16
-#define LNOT   	17
-#define BNOT   	18
-#define INC    	19
-#define POSTINC	20
-#define UPOSTINC       	21
-#define PREINC 	22
-#define UPREINC	23
-#define POSTDEC	24
-#define UPOSTDEC       	25
-#define PREDEC 	26
-#define UPREDEC	27
-#define DEC    	28
+#define ADDRESS	16
+#define MINUS  	17
+#define LNOT   	18
+#define BNOT   	19
+#define INC    	20
+#define POSTINC	21
+#define UPOSTINC       	22
+#define PREINC 	23
+#define UPREINC	24
+#define POSTDEC	25
+#define UPOSTDEC       	26
+#define PREDEC 	27
+#define UPREDEC	28
+#define DEC    	29
 #define CPOSTINC (COP+POSTINC)
 #define CUPOSTINC (COP+UPOSTINC)
 #define CPREINC (COP+PREINC)
@@ -199,9 +200,9 @@
 #define LPREINC (LOP+PREINC)
 #define LUPOSTINC       (LOP+UPOSTINC)
 #define LUPREINC        (LOP+UPREINC)
-#define INDIRECT       	29
-#define RINDIRECT      	30
-#define URINDIRECT     	31
+#define INDIRECT       	30
+#define RINDIRECT      	31
+#define URINDIRECT     	32
 #define CRINDIRECT      (COP+RINDIRECT)
 #define CURINDIRECT     (COP+URINDIRECT)
 #define SRINDIRECT      (SOP+RINDIRECT)
@@ -210,61 +211,61 @@
 #define DRINDIRECT      (DOP+RINDIRECT)
 #define LRINDIRECT      (LOP+RINDIRECT)
 #define LURINDIRECT     (LOP+URINDIRECT)
-#define RSTRUCT	32
-#define ALLOCA 	33
-#define BUILTINP 	34
-#define BUILTIN_EXPECT 	35
-#define ATTRIBUTE 	36
-#define BIT_FIELD 	37
-#define RBIT_FIELD 	38
-#define BPREINC 	39
-#define BPOSTINC 	40
-#define CONV   	41
+#define RSTRUCT	33
+#define ALLOCA 	34
+#define BUILTINP 	35
+#define BUILTIN_EXPECT 	36
+#define ATTRIBUTE 	37
+#define BIT_FIELD 	38
+#define RBIT_FIELD 	39
+#define BPREINC 	40
+#define BPOSTINC 	41
+#define CONV   	42
 
 #define UNARY_ARGS(i) (ADDRESS<=(i%SOP)&&(i%SOP)<=CONV)
 
 /* binary  argments */
 
-#define MUL    	42
-#define UMUL   	43
-#define DIV    	44
-#define UDIV   	45
-#define MOD    	46
-#define UMOD   	47
-#define ADD    	48
-#define SUB    	49
-#define CMP    	50      
-#define RSHIFT 	51
-#define URSHIFT	52
-#define LSHIFT 	53
-#define ULSHIFT	54
-#define GT     	55
-#define UGT    	56
-#define GE     	57
-#define UGE    	58
-#define LT     	59
-#define ULT    	60
-#define LE     	61
-#define ULE    	62
-#define EQ     	63
-#define NEQ    	64
-#define BAND   	65
-#define EOR    	66
-#define BOR    	67
-#define LAND   	68
-#define LOR    	69
-#define ASS    	70
-#define UCMP   	71
-#define UCMPGE 	72
-#define CMPGE  	73
-#define CMPEQ  	74
-#define CMPNEQ 	75
-#define ASSOP  	76
-#define COMMA  	77
+#define MUL    	43
+#define UMUL   	44
+#define DIV    	45
+#define UDIV   	46
+#define MOD    	47
+#define UMOD   	48
+#define ADD    	49
+#define SUB    	50
+#define CMP    	51      
+#define RSHIFT 	52
+#define URSHIFT	53
+#define LSHIFT 	54
+#define ULSHIFT	55
+#define GT     	56
+#define UGT    	57
+#define GE     	58
+#define UGE    	59
+#define LT     	60
+#define ULT    	61
+#define LE     	62
+#define ULE    	63
+#define EQ     	64
+#define NEQ    	65
+#define BAND   	66
+#define EOR    	67
+#define BOR    	68
+#define LAND   	69
+#define LOR    	70
+#define ASS    	71
+#define UCMP   	72
+#define UCMPGE 	73
+#define CMPGE  	74
+#define CMPEQ  	75
+#define CMPNEQ 	76
+#define ASSOP  	77
+#define COMMA  	78
 
-#define CASS   	78
-#define CASSOP 	79
-#define CUASSOP	80
+#define CASS   	79
+#define CASSOP 	80
+#define CUASSOP	81
 
 #define SASS    (SOP+CASS)
 #define SASSOP (SOP+CASSOP)
@@ -320,19 +321,19 @@
 #define LEOR    (LOP+EOR)
 #define LBOR    (LOP+BOR)
 
-#define BASS   	81
-#define BASSOP 	82
-#define BFD_REPL 	83
+#define BASS   	82
+#define BASSOP 	83
+#define BFD_REPL 	84
 
-#define STASS  	84
+#define STASS  	85
 
 
 #define BINARY_ARGS(i) (MUL<=(i%SOP)&&(i%SOP)<=STASS)
 
 /* tarnary  argments */
 
-#define COND   	85
-#define UCOND  	86
+#define COND   	86
+#define UCOND  	87
 #define SCOND   (SOP+COND)
 #define SUCOND   (SOP+UCOND)
 #define DCOND   (DOP+COND)
@@ -344,35 +345,35 @@
 
 /* not appeared as tags */
 
-#define LPAR   	87
-#define RPAR   	88
-#define LBRA   	89
-#define RBRA   	90
-#define LC     	91
-#define RC     	92
-#define COLON  	93
-#define SM     	94
-#define PERIOD 	95
-#define ARROW  	96
-#define CNAME  	97
+#define LPAR   	88
+#define RPAR   	89
+#define LBRA   	90
+#define RBRA   	91
+#define LC     	92
+#define RC     	93
+#define COLON  	94
+#define SM     	95
+#define PERIOD 	96
+#define ARROW  	97
+#define CNAME  	98
 
-#define I2C  	98
-#define I2S  	99
-#define I2I    	100
-#define I2U    	101
-#define I2D    	102
-#define I2F    	103
-#define I2LL   	104
-#define I2ULL  	105
+#define I2C  	99
+#define I2S  	100
+#define I2I    	101
+#define I2U    	102
+#define I2D    	103
+#define I2F    	104
+#define I2LL   	105
+#define I2ULL  	106
 
-#define U2UC  	106
-#define U2US  	107
-#define U2I    	108
-#define U2U    	109
-#define U2D    	110
-#define U2F    	111
-#define U2LL   	112
-#define U2ULL  	113
+#define U2UC  	107
+#define U2US  	108
+#define U2I    	109
+#define U2U    	110
+#define U2D    	111
+#define U2F    	112
+#define U2LL   	113
+#define U2ULL  	114
 
 
 #define D2I     (DOP+I2I)
@@ -407,22 +408,22 @@
 
 /* statement start */
 
-#define ST_DECL		114
-#define ST_IF		115
-#define ST_DO		116
-#define ST_WHILE	117
-#define ST_FOR		118
-#define ST_SWITCH	119
-#define ST_COMP		120
-#define ST_BREAK	121
-#define ST_CONTINUE	122
-#define ST_CASE		123
-#define ST_DEFAULT	124
-#define ST_RETURN	125
-#define ST_GOTO		126
-#define ST_ASM		127
-#define ST_LABEL	128
-#define ST_COMMENT	129
+#define ST_DECL		115
+#define ST_IF		116
+#define ST_DO		117
+#define ST_WHILE	118
+#define ST_FOR		119
+#define ST_SWITCH	120
+#define ST_COMP		121
+#define ST_BREAK	122
+#define ST_CONTINUE	123
+#define ST_CASE		124
+#define ST_DEFAULT	125
+#define ST_RETURN	126
+#define ST_GOTO		127
+#define ST_ASM		128
+#define ST_LABEL	129
+#define ST_COMMENT	130
 
 #define IS_STATEMENT(i) (ST_DECL<=i&&i<=ST_COMMENT)