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 GRAPH_OPS_H_INCLUDED
35
#ifndef GRAPH_OPS_H_INCLUDED
36
#define GRAPH_OPS_H_INCLUDED
36
#define GRAPH_OPS_H_INCLUDED
37
 
37
 
38
/* Operations for union GRAPH */
38
/* Operations for union GRAPH */
39
 
39
 
40
#define TAG_graph( P )			( ( unsigned ) 0 )
40
#define TAG_graph(P)			((unsigned) 0)
41
 
41
 
42
 
42
 
43
/* Operations for component head of union GRAPH */
43
/* Operations for component head of union GRAPH */
44
 
44
 
45
#define graph_head( P )			( CHECK_NULL ( P ) + 0 )
45
#define graph_head(P)			(CHECK_NULL(P) + 0)
46
 
46
 
47
 
47
 
48
/* Operations for component access of union GRAPH */
48
/* Operations for component access of union GRAPH */
49
 
49
 
50
#define graph_access( P )		( CHECK_NULL ( P ) + 1 )
50
#define graph_access(P)			(CHECK_NULL(P) + 1)
51
 
51
 
52
 
52
 
53
/* Operations for component tails of union GRAPH */
53
/* Operations for component tails of union GRAPH */
54
 
54
 
55
#define graph_tails( P )		( CHECK_NULL ( P ) + 2 )
55
#define graph_tails(P)			(CHECK_NULL(P) + 2)
56
 
56
 
57
 
57
 
58
/* Operations for component top of union GRAPH */
58
/* Operations for component top of union GRAPH */
59
 
59
 
60
#define graph_top( P )			( CHECK_NULL ( P ) + 3 )
60
#define graph_top(P)			(CHECK_NULL(P) + 3)
61
 
61
 
62
 
62
 
63
/* Operations for component equal of union GRAPH */
63
/* Operations for component equal of union GRAPH */
64
 
64
 
65
#define graph_equal( P )		( CHECK_NULL ( P ) + 4 )
65
#define graph_equal(P)			(CHECK_NULL(P) + 4)
66
 
66
 
67
 
67
 
68
/* Operations for component up of union GRAPH */
68
/* Operations for component up of union GRAPH */
69
 
69
 
70
#define graph_up( P )			( CHECK_NULL ( P ) + 5 )
70
#define graph_up(P)			(CHECK_NULL(P) + 5)
71
 
71
 
72
 
72
 
73
/* Operations for component no of union GRAPH */
73
/* Operations for component no of union GRAPH */
74
 
74
 
75
#define graph_no( P )			( CHECK_NULL ( P ) + 6 )
75
#define graph_no(P)			(CHECK_NULL(P) + 6)
76
 
76
 
77
 
77
 
78
/* Operations for component off of union GRAPH */
78
/* Operations for component off of union GRAPH */
79
 
79
 
80
#define graph_off( P )			( CHECK_NULL ( P ) + 7 )
80
#define graph_off(P)			(CHECK_NULL(P) + 7)
81
 
81
 
82
 
82
 
83
/* Operations for component member of union GRAPH */
83
/* Operations for component member of union GRAPH */
84
 
84
 
85
#define graph_member( P )		( CHECK_NULL ( P ) + 8 )
85
#define graph_member(P)			(CHECK_NULL(P) + 8)
86
 
86
 
87
 
87
 
88
/* Operations for component tok1 of union GRAPH */
88
/* Operations for component tok1 of union GRAPH */
89
 
89
 
90
#define graph_tok1( P )			( CHECK_NULL ( P ) + 9 )
90
#define graph_tok1(P)			(CHECK_NULL(P) + 9)
91
 
91
 
92
 
92
 
93
/* Operations for component tok2 of union GRAPH */
93
/* Operations for component tok2 of union GRAPH */
94
 
94
 
95
#define graph_tok2( P )			( CHECK_NULL ( P ) + 10 )
95
#define graph_tok2(P)			(CHECK_NULL(P) + 10)
96
 
96
 
97
 
97
 
98
/* Operations for field basic of union GRAPH */
98
/* Operations for field basic of union GRAPH */
99
 
99
 
100
#define graph_basic_tag			( ( unsigned ) 0 )
100
#define graph_basic_tag			((unsigned)0)
101
#define IS_graph_basic( P )		1
101
#define IS_graph_basic(P)		1
102
 
102
 
103
 
103
 
104
#define MAKE_graph_basic( head_, access_, c_class_graph )\
104
#define MAKE_graph_basic(head_, access_, c_class_graph)\
105
    {\
105
    {\
106
	c_class *x202_ = GEN_c_class ( 11, TYPEID_graph ) ;\
106
	c_class *x202_ = GEN_c_class(11, TYPEID_graph);\
107
	COPY_ctype ( x202_ + 0, ( head_ ) ) ;\
107
	COPY_ctype(x202_ + 0, (head_));\
108
	COPY_dspec ( x202_ + 1, ( access_ ) ) ;\
108
	COPY_dspec(x202_ + 1, (access_));\
109
	COPY_list ( x202_ + 2, NULL_list ( GRAPH ) ) ;\
109
	COPY_list(x202_ + 2, NULL_list ( GRAPH ));\
110
	COPY_graph ( x202_ + 3, NULL_graph ) ;\
110
	COPY_graph(x202_ + 3, NULL_graph);\
111
	COPY_graph ( x202_ + 4, NULL_graph ) ;\
111
	COPY_graph(x202_ + 4, NULL_graph);\
112
	COPY_graph ( x202_ + 5, NULL_graph ) ;\
112
	COPY_graph(x202_ + 5, NULL_graph);\
113
	COPY_unsigned ( x202_ + 6, 0 ) ;\
113
	COPY_unsigned(x202_ + 6, 0);\
114
	COPY_off ( x202_ + 7, NULL_off ) ;\
114
	COPY_off(x202_ + 7, NULL_off);\
115
	COPY_list ( x202_ + 8, NULL_list ( IDENTIFIER ) ) ;\
115
	COPY_list(x202_ + 8, NULL_list ( IDENTIFIER ));\
116
	COPY_ulong ( x202_ + 9, LINK_NONE ) ;\
116
	COPY_ulong(x202_ + 9, LINK_NONE);\
117
	COPY_ulong ( x202_ + 10, LINK_NONE ) ;\
117
	COPY_ulong(x202_ + 10, LINK_NONE);\
118
	( c_class_graph ) = x202_ ;\
118
	(c_class_graph) = x202_;\
119
    }
119
    }
120
 
120
 
121
#define DECONS_graph_basic( head_, access_, tails_, top_, equal_, up_, no_, off_, member_, tok1_, tok2_, c_class_graph )\
121
#define DECONS_graph_basic(head_, access_, tails_, top_, equal_, up_, no_, off_, member_, tok1_, tok2_, c_class_graph)\
122
    {\
122
    {\
123
	c_class *x203_ = ( c_class_graph ) ;\
123
	c_class *x203_ = (c_class_graph);\
124
	( head_ ) = DEREF_ctype ( x203_ + 0 ) ;\
124
	(head_) = DEREF_ctype(x203_ + 0);\
125
	( access_ ) = DEREF_dspec ( x203_ + 1 ) ;\
125
	(access_) = DEREF_dspec(x203_ + 1);\
126
	( tails_ ) = DEREF_list ( x203_ + 2 ) ;\
126
	(tails_) = DEREF_list(x203_ + 2);\
127
	( top_ ) = DEREF_graph ( x203_ + 3 ) ;\
127
	(top_) = DEREF_graph(x203_ + 3);\
128
	( equal_ ) = DEREF_graph ( x203_ + 4 ) ;\
128
	(equal_) = DEREF_graph(x203_ + 4);\
129
	( up_ ) = DEREF_graph ( x203_ + 5 ) ;\
129
	(up_) = DEREF_graph(x203_ + 5);\
130
	( no_ ) = DEREF_unsigned ( x203_ + 6 ) ;\
130
	(no_) = DEREF_unsigned(x203_ + 6);\
131
	( off_ ) = DEREF_off ( x203_ + 7 ) ;\
131
	(off_) = DEREF_off(x203_ + 7);\
132
	( member_ ) = DEREF_list ( x203_ + 8 ) ;\
132
	(member_) = DEREF_list(x203_ + 8);\
133
	( tok1_ ) = DEREF_ulong ( x203_ + 9 ) ;\
133
	(tok1_) = DEREF_ulong(x203_ + 9);\
134
	( tok2_ ) = DEREF_ulong ( x203_ + 10 ) ;\
134
	(tok2_) = DEREF_ulong(x203_ + 10);\
135
    }
135
    }
136
 
136
 
137
#define DESTROY_graph_basic( destroyer_, head_, access_, tails_, top_, equal_, up_, no_, off_, member_, tok1_, tok2_, c_class_graph )\
137
#define DESTROY_graph_basic(destroyer_, head_, access_, tails_, top_, equal_, up_, no_, off_, member_, tok1_, tok2_, c_class_graph)\
138
    {\
138
    {\
139
	c_class *x204_ = ( c_class_graph ) ;\
139
	c_class *x204_ = (c_class_graph);\
140
	( head_ ) = DEREF_ctype ( x204_ + 0 ) ;\
140
	(head_) = DEREF_ctype(x204_ + 0);\
141
	( access_ ) = DEREF_dspec ( x204_ + 1 ) ;\
141
	(access_) = DEREF_dspec(x204_ + 1);\
142
	( tails_ ) = DEREF_list ( x204_ + 2 ) ;\
142
	(tails_) = DEREF_list(x204_ + 2);\
143
	( top_ ) = DEREF_graph ( x204_ + 3 ) ;\
143
	(top_) = DEREF_graph(x204_ + 3);\
144
	( equal_ ) = DEREF_graph ( x204_ + 4 ) ;\
144
	(equal_) = DEREF_graph(x204_ + 4);\
145
	( up_ ) = DEREF_graph ( x204_ + 5 ) ;\
145
	(up_) = DEREF_graph(x204_ + 5);\
146
	( no_ ) = DEREF_unsigned ( x204_ + 6 ) ;\
146
	(no_) = DEREF_unsigned(x204_ + 6);\
147
	( off_ ) = DEREF_off ( x204_ + 7 ) ;\
147
	(off_) = DEREF_off(x204_ + 7);\
148
	( member_ ) = DEREF_list ( x204_ + 8 ) ;\
148
	(member_) = DEREF_list(x204_ + 8);\
149
	( tok1_ ) = DEREF_ulong ( x204_ + 9 ) ;\
149
	(tok1_) = DEREF_ulong(x204_ + 9);\
150
	( tok2_ ) = DEREF_ulong ( x204_ + 10 ) ;\
150
	(tok2_) = DEREF_ulong(x204_ + 10);\
151
	( destroyer_ ) ( x204_, ( unsigned ) 11 ) ;\
151
	(destroyer_)(x204_, (unsigned)11);\
152
    }
152
    }
153
 
153
 
154
 
154
 
155
#endif
155
#endif