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 CONS_OPS_H_INCLUDED
35
#ifndef CONS_OPS_H_INCLUDED
36
#define CONS_OPS_H_INCLUDED
36
#define CONS_OPS_H_INCLUDED
37
 
37
 
38
/* Operations for union CONSTRUCT */
38
/* Operations for union CONSTRUCT */
39
 
39
 
40
#define TAG_cons( P )			( ( unsigned ) 0 )
40
#define TAG_cons(P)			((unsigned) 0)
41
 
41
 
42
 
42
 
43
/* Operations for component name of union CONSTRUCT */
43
/* Operations for component name of union CONSTRUCT */
44
 
44
 
45
#define cons_name( P )			( CHECK_NULL ( P ) + 0 )
45
#define cons_name(P)			(CHECK_NULL(P) + 0)
46
 
46
 
47
 
47
 
48
/* Operations for component encode of union CONSTRUCT */
48
/* Operations for component encode of union CONSTRUCT */
49
 
49
 
50
#define cons_encode( P )		( CHECK_NULL ( P ) + 1 )
50
#define cons_encode(P)			(CHECK_NULL(P) + 1)
51
 
51
 
52
 
52
 
53
/* Operations for component res of union CONSTRUCT */
53
/* Operations for component res of union CONSTRUCT */
54
 
54
 
55
#define cons_res( P )			( CHECK_NULL ( P ) + 2 )
55
#define cons_res(P)			(CHECK_NULL(P) + 2)
56
 
56
 
57
 
57
 
58
/* Operations for component pars of union CONSTRUCT */
58
/* Operations for component pars of union CONSTRUCT */
59
 
59
 
60
#define cons_pars( P )			( CHECK_NULL ( P ) + 3 )
60
#define cons_pars(P)			(CHECK_NULL(P) + 3)
61
 
61
 
62
 
62
 
63
/* Operations for component kind of union CONSTRUCT */
63
/* Operations for component kind of union CONSTRUCT */
64
 
64
 
65
#define cons_kind( P )			( CHECK_NULL ( P ) + 4 )
65
#define cons_kind(P)			(CHECK_NULL(P) + 4)
66
 
66
 
67
 
67
 
68
/* Operations for field basic of union CONSTRUCT */
68
/* Operations for field basic of union CONSTRUCT */
69
 
69
 
70
#define cons_basic_tag			( ( unsigned ) 0 )
70
#define cons_basic_tag			((unsigned)0)
71
#define IS_cons_basic( P )		1
71
#define IS_cons_basic(P)		1
72
 
72
 
73
 
73
 
74
#define MAKE_cons_basic( name_, encode_, res_, pars_, kind_, tdf_cons )\
74
#define MAKE_cons_basic(name_, encode_, res_, pars_, kind_, tdf_cons)\
75
    {\
75
    {\
76
	tdf *x68_ = GEN_tdf ( 5, TYPEID_cons ) ;\
76
	tdf *x68_ = GEN_tdf(5, TYPEID_cons);\
77
	COPY_string ( x68_ + 0, ( name_ ) ) ;\
77
	COPY_string(x68_ + 0, (name_));\
78
	COPY_unsigned ( x68_ + 1, ( encode_ ) ) ;\
78
	COPY_unsigned(x68_ + 1, (encode_));\
79
	COPY_sort ( x68_ + 2, ( res_ ) ) ;\
79
	COPY_sort(x68_ + 2, (res_));\
80
	COPY_list ( x68_ + 3, ( pars_ ) ) ;\
80
	COPY_list(x68_ + 3, (pars_));\
81
	COPY_unsigned ( x68_ + 4, ( kind_ ) ) ;\
81
	COPY_unsigned(x68_ + 4, (kind_));\
82
	( tdf_cons ) = x68_ ;\
82
	(tdf_cons) = x68_;\
83
    }
83
    }
84
 
84
 
85
#define DECONS_cons_basic( name_, encode_, res_, pars_, kind_, tdf_cons )\
85
#define DECONS_cons_basic(name_, encode_, res_, pars_, kind_, tdf_cons)\
86
    {\
86
    {\
87
	tdf *x69_ = ( tdf_cons ) ;\
87
	tdf *x69_ = (tdf_cons);\
88
	( name_ ) = DEREF_string ( x69_ + 0 ) ;\
88
	(name_) = DEREF_string(x69_ + 0);\
89
	( encode_ ) = DEREF_unsigned ( x69_ + 1 ) ;\
89
	(encode_) = DEREF_unsigned(x69_ + 1);\
90
	( res_ ) = DEREF_sort ( x69_ + 2 ) ;\
90
	(res_) = DEREF_sort(x69_ + 2);\
91
	( pars_ ) = DEREF_list ( x69_ + 3 ) ;\
91
	(pars_) = DEREF_list(x69_ + 3);\
92
	( kind_ ) = DEREF_unsigned ( x69_ + 4 ) ;\
92
	(kind_) = DEREF_unsigned(x69_ + 4);\
93
    }
93
    }
94
 
94
 
95
#define DESTROY_cons_basic( destroyer_, name_, encode_, res_, pars_, kind_, tdf_cons )\
95
#define DESTROY_cons_basic(destroyer_, name_, encode_, res_, pars_, kind_, tdf_cons)\
96
    {\
96
    {\
97
	tdf *x70_ = ( tdf_cons ) ;\
97
	tdf *x70_ = (tdf_cons);\
98
	( name_ ) = DEREF_string ( x70_ + 0 ) ;\
98
	(name_) = DEREF_string(x70_ + 0);\
99
	( encode_ ) = DEREF_unsigned ( x70_ + 1 ) ;\
99
	(encode_) = DEREF_unsigned(x70_ + 1);\
100
	( res_ ) = DEREF_sort ( x70_ + 2 ) ;\
100
	(res_) = DEREF_sort(x70_ + 2);\
101
	( pars_ ) = DEREF_list ( x70_ + 3 ) ;\
101
	(pars_) = DEREF_list(x70_ + 3);\
102
	( kind_ ) = DEREF_unsigned ( x70_ + 4 ) ;\
102
	(kind_) = DEREF_unsigned(x70_ + 4);\
103
	( destroyer_ ) ( x70_, ( unsigned ) 5 ) ;\
103
	(destroyer_)(x70_, (unsigned)5);\
104
    }
104
    }
105
 
105
 
106
 
106
 
107
#endif
107
#endif