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 PAR_OPS_H_INCLUDED
35
#ifndef PAR_OPS_H_INCLUDED
36
#define PAR_OPS_H_INCLUDED
36
#define PAR_OPS_H_INCLUDED
37
 
37
 
38
/* Operations for union PARAMETER */
38
/* Operations for union PARAMETER */
39
 
39
 
40
#define TAG_par( P )			( ( unsigned ) 0 )
40
#define TAG_par(P)			((unsigned) 0)
41
 
41
 
42
 
42
 
43
/* Operations for component name of union PARAMETER */
43
/* Operations for component name of union PARAMETER */
44
 
44
 
45
#define par_name( P )			( CHECK_NULL ( P ) + 0 )
45
#define par_name(P)			(CHECK_NULL(P) + 0)
46
 
46
 
47
 
47
 
48
/* Operations for component type of union PARAMETER */
48
/* Operations for component type of union PARAMETER */
49
 
49
 
50
#define par_type( P )			( CHECK_NULL ( P ) + 1 )
50
#define par_type(P)			(CHECK_NULL(P) + 1)
51
 
51
 
52
 
52
 
53
/* Operations for component brk of union PARAMETER */
53
/* Operations for component brk of union PARAMETER */
54
 
54
 
55
#define par_brk( P )			( CHECK_NULL ( P ) + 2 )
55
#define par_brk(P)			(CHECK_NULL(P) + 2)
56
 
56
 
57
 
57
 
58
/* Operations for component align of union PARAMETER */
58
/* Operations for component align of union PARAMETER */
59
 
59
 
60
#define par_align( P )			( CHECK_NULL ( P ) + 3 )
60
#define par_align(P)			(CHECK_NULL(P) + 3)
61
 
61
 
62
 
62
 
63
/* Operations for component intro of union PARAMETER */
63
/* Operations for component intro of union PARAMETER */
64
 
64
 
65
#define par_intro( P )			( CHECK_NULL ( P ) + 4 )
65
#define par_intro(P)			(CHECK_NULL(P) + 4)
66
 
66
 
67
 
67
 
68
/* Operations for field basic of union PARAMETER */
68
/* Operations for field basic of union PARAMETER */
69
 
69
 
70
#define par_basic_tag			( ( unsigned ) 0 )
70
#define par_basic_tag			((unsigned)0)
71
#define IS_par_basic( P )		1
71
#define IS_par_basic(P)			1
72
 
72
 
73
 
73
 
74
#define MAKE_par_basic( name_, type_, brk_, align_, intro_, tdf_par )\
74
#define MAKE_par_basic(name_, type_, brk_, align_, intro_, tdf_par)\
75
    {\
75
    {\
76
	tdf *x65_ = GEN_tdf ( 5, TYPEID_par ) ;\
76
	tdf *x65_ = GEN_tdf(5, TYPEID_par);\
77
	COPY_string ( x65_ + 0, ( name_ ) ) ;\
77
	COPY_string(x65_ + 0, (name_));\
78
	COPY_sort ( x65_ + 1, ( type_ ) ) ;\
78
	COPY_sort(x65_ + 1, (type_));\
79
	COPY_int ( x65_ + 2, ( brk_ ) ) ;\
79
	COPY_int(x65_ + 2, (brk_));\
80
	COPY_int ( x65_ + 3, ( align_ ) ) ;\
80
	COPY_int(x65_ + 3, (align_));\
81
	COPY_int ( x65_ + 4, ( intro_ ) ) ;\
81
	COPY_int(x65_ + 4, (intro_));\
82
	( tdf_par ) = x65_ ;\
82
	(tdf_par) = x65_;\
83
    }
83
    }
84
 
84
 
85
#define DECONS_par_basic( name_, type_, brk_, align_, intro_, tdf_par )\
85
#define DECONS_par_basic(name_, type_, brk_, align_, intro_, tdf_par)\
86
    {\
86
    {\
87
	tdf *x66_ = ( tdf_par ) ;\
87
	tdf *x66_ = (tdf_par);\
88
	( name_ ) = DEREF_string ( x66_ + 0 ) ;\
88
	(name_) = DEREF_string(x66_ + 0);\
89
	( type_ ) = DEREF_sort ( x66_ + 1 ) ;\
89
	(type_) = DEREF_sort(x66_ + 1);\
90
	( brk_ ) = DEREF_int ( x66_ + 2 ) ;\
90
	(brk_) = DEREF_int(x66_ + 2);\
91
	( align_ ) = DEREF_int ( x66_ + 3 ) ;\
91
	(align_) = DEREF_int(x66_ + 3);\
92
	( intro_ ) = DEREF_int ( x66_ + 4 ) ;\
92
	(intro_) = DEREF_int(x66_ + 4);\
93
    }
93
    }
94
 
94
 
95
#define DESTROY_par_basic( destroyer_, name_, type_, brk_, align_, intro_, tdf_par )\
95
#define DESTROY_par_basic(destroyer_, name_, type_, brk_, align_, intro_, tdf_par)\
96
    {\
96
    {\
97
	tdf *x67_ = ( tdf_par ) ;\
97
	tdf *x67_ = (tdf_par);\
98
	( name_ ) = DEREF_string ( x67_ + 0 ) ;\
98
	(name_) = DEREF_string(x67_ + 0);\
99
	( type_ ) = DEREF_sort ( x67_ + 1 ) ;\
99
	(type_) = DEREF_sort(x67_ + 1);\
100
	( brk_ ) = DEREF_int ( x67_ + 2 ) ;\
100
	(brk_) = DEREF_int(x67_ + 2);\
101
	( align_ ) = DEREF_int ( x67_ + 3 ) ;\
101
	(align_) = DEREF_int(x67_ + 3);\
102
	( intro_ ) = DEREF_int ( x67_ + 4 ) ;\
102
	(intro_) = DEREF_int(x67_ + 4);\
103
	( destroyer_ ) ( x67_, ( unsigned ) 5 ) ;\
103
	(destroyer_)(x67_, (unsigned)5);\
104
    }
104
    }
105
 
105
 
106
 
106
 
107
#endif
107
#endif