Subversion Repositories tendra.SVN

Rev

Rev 2 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2 Rev 7
Line 35... Line 35...
35
#ifndef ETYPE_OPS_H_INCLUDED
35
#ifndef ETYPE_OPS_H_INCLUDED
36
#define ETYPE_OPS_H_INCLUDED
36
#define ETYPE_OPS_H_INCLUDED
37
 
37
 
38
/* Operations for union ENUM_TYPE */
38
/* Operations for union ENUM_TYPE */
39
 
39
 
40
#define TAG_etype( P )			( ( unsigned ) 0 )
40
#define TAG_etype(P)			((unsigned) 0)
41
 
41
 
42
 
42
 
43
/* Operations for component name of union ENUM_TYPE */
43
/* Operations for component name of union ENUM_TYPE */
44
 
44
 
45
#define etype_name( P )			( CHECK_NULL ( P ) + 0 )
45
#define etype_name(P)			(CHECK_NULL(P) + 0)
46
 
46
 
47
 
47
 
48
/* Operations for component info of union ENUM_TYPE */
48
/* Operations for component info of union ENUM_TYPE */
49
 
49
 
50
#define etype_info( P )			( CHECK_NULL ( P ) + 1 )
50
#define etype_info(P)			(CHECK_NULL(P) + 1)
51
 
51
 
52
 
52
 
53
/* Operations for component rep of union ENUM_TYPE */
53
/* Operations for component rep of union ENUM_TYPE */
54
 
54
 
55
#define etype_rep( P )			( CHECK_NULL ( P ) + 2 )
55
#define etype_rep(P)			(CHECK_NULL(P) + 2)
56
 
56
 
57
 
57
 
58
/* Operations for component form of union ENUM_TYPE */
58
/* Operations for component form of union ENUM_TYPE */
59
 
59
 
60
#define etype_form( P )			( CHECK_NULL ( P ) + 3 )
60
#define etype_form(P)			(CHECK_NULL(P) + 3)
61
 
61
 
62
 
62
 
63
/* Operations for component values of union ENUM_TYPE */
63
/* Operations for component values of union ENUM_TYPE */
64
 
64
 
65
#define etype_values( P )		( CHECK_NULL ( P ) + 4 )
65
#define etype_values(P)			(CHECK_NULL(P) + 4)
66
 
66
 
67
 
67
 
68
/* Operations for component value of union ENUM_TYPE */
68
/* Operations for component value of union ENUM_TYPE */
69
 
69
 
70
#define etype_value( P )		( CHECK_NULL ( P ) + 5 )
70
#define etype_value(P)			(CHECK_NULL(P) + 5)
71
 
71
 
72
 
72
 
73
/* Operations for component plus of union ENUM_TYPE */
73
/* Operations for component plus of union ENUM_TYPE */
74
 
74
 
75
#define etype_plus( P )			( CHECK_NULL ( P ) + 6 )
75
#define etype_plus(P)			(CHECK_NULL(P) + 6)
76
 
76
 
77
 
77
 
78
/* Operations for field basic of union ENUM_TYPE */
78
/* Operations for field basic of union ENUM_TYPE */
79
 
79
 
80
#define etype_basic_tag			( ( unsigned ) 0 )
80
#define etype_basic_tag			((unsigned)0)
81
#define IS_etype_basic( P )		1
81
#define IS_etype_basic(P)		1
82
 
82
 
83
 
83
 
84
#define MAKE_etype_basic( name_, info_, rep_, c_class_etype )\
84
#define MAKE_etype_basic(name_, info_, rep_, c_class_etype)\
85
    {\
85
    {\
86
	c_class *x223_ = GEN_c_class ( 7, TYPEID_etype ) ;\
86
	c_class *x223_ = GEN_c_class(7, TYPEID_etype);\
87
	COPY_id ( x223_ + 0, ( name_ ) ) ;\
87
	COPY_id(x223_ + 0, (name_));\
88
	COPY_cinfo ( x223_ + 1, ( info_ ) ) ;\
88
	COPY_cinfo(x223_ + 1, (info_));\
89
	COPY_type ( x223_ + 2, ( rep_ ) ) ;\
89
	COPY_type(x223_ + 2, (rep_));\
90
	COPY_type ( x223_ + 3, NULL_type ) ;\
90
	COPY_type(x223_ + 3, NULL_type);\
91
	COPY_list ( x223_ + 4, NULL_list ( IDENTIFIER ) ) ;\
91
	COPY_list(x223_ + 4, NULL_list ( IDENTIFIER ));\
92
	COPY_exp ( x223_ + 5, NULL_exp ) ;\
92
	COPY_exp(x223_ + 5, NULL_exp);\
93
	COPY_ulong ( x223_ + 6, 0 ) ;\
93
	COPY_ulong(x223_ + 6, 0);\
94
	( c_class_etype ) = x223_ ;\
94
	(c_class_etype) = x223_;\
95
    }
95
    }
96
 
96
 
97
#define DECONS_etype_basic( name_, info_, rep_, form_, values_, value_, plus_, c_class_etype )\
97
#define DECONS_etype_basic(name_, info_, rep_, form_, values_, value_, plus_, c_class_etype)\
98
    {\
98
    {\
99
	c_class *x224_ = ( c_class_etype ) ;\
99
	c_class *x224_ = (c_class_etype);\
100
	( name_ ) = DEREF_id ( x224_ + 0 ) ;\
100
	(name_) = DEREF_id(x224_ + 0);\
101
	( info_ ) = DEREF_cinfo ( x224_ + 1 ) ;\
101
	(info_) = DEREF_cinfo(x224_ + 1);\
102
	( rep_ ) = DEREF_type ( x224_ + 2 ) ;\
102
	(rep_) = DEREF_type(x224_ + 2);\
103
	( form_ ) = DEREF_type ( x224_ + 3 ) ;\
103
	(form_) = DEREF_type(x224_ + 3);\
104
	( values_ ) = DEREF_list ( x224_ + 4 ) ;\
104
	(values_) = DEREF_list(x224_ + 4);\
105
	( value_ ) = DEREF_exp ( x224_ + 5 ) ;\
105
	(value_) = DEREF_exp(x224_ + 5);\
106
	( plus_ ) = DEREF_ulong ( x224_ + 6 ) ;\
106
	(plus_) = DEREF_ulong(x224_ + 6);\
107
    }
107
    }
108
 
108
 
109
#define DESTROY_etype_basic( destroyer_, name_, info_, rep_, form_, values_, value_, plus_, c_class_etype )\
109
#define DESTROY_etype_basic(destroyer_, name_, info_, rep_, form_, values_, value_, plus_, c_class_etype)\
110
    {\
110
    {\
111
	c_class *x225_ = ( c_class_etype ) ;\
111
	c_class *x225_ = (c_class_etype);\
112
	( name_ ) = DEREF_id ( x225_ + 0 ) ;\
112
	(name_) = DEREF_id(x225_ + 0);\
113
	( info_ ) = DEREF_cinfo ( x225_ + 1 ) ;\
113
	(info_) = DEREF_cinfo(x225_ + 1);\
114
	( rep_ ) = DEREF_type ( x225_ + 2 ) ;\
114
	(rep_) = DEREF_type(x225_ + 2);\
115
	( form_ ) = DEREF_type ( x225_ + 3 ) ;\
115
	(form_) = DEREF_type(x225_ + 3);\
116
	( values_ ) = DEREF_list ( x225_ + 4 ) ;\
116
	(values_) = DEREF_list(x225_ + 4);\
117
	( value_ ) = DEREF_exp ( x225_ + 5 ) ;\
117
	(value_) = DEREF_exp(x225_ + 5);\
118
	( plus_ ) = DEREF_ulong ( x225_ + 6 ) ;\
118
	(plus_) = DEREF_ulong(x225_ + 6);\
119
	( destroyer_ ) ( x225_, ( unsigned ) 7 ) ;\
119
	(destroyer_)(x225_, (unsigned)7);\
120
    }
120
    }
121
 
121
 
122
 
122
 
123
#endif
123
#endif