2 |
7u83 |
1 |
/*
|
|
|
2 |
Crown Copyright (c) 1997, 1998
|
|
|
3 |
|
|
|
4 |
This TenDRA(r) Computer Program is subject to Copyright
|
|
|
5 |
owned by the United Kingdom Secretary of State for Defence
|
|
|
6 |
acting through the Defence Evaluation and Research Agency
|
|
|
7 |
(DERA). It is made available to Recipients with a
|
|
|
8 |
royalty-free licence for its use, reproduction, transfer
|
|
|
9 |
to other parties and amendment for any purpose not excluding
|
|
|
10 |
product development provided that any such use et cetera
|
|
|
11 |
shall be deemed to be acceptance of the following conditions:-
|
|
|
12 |
|
|
|
13 |
(1) Its Recipients shall ensure that this Notice is
|
|
|
14 |
reproduced upon any copies or amended versions of it;
|
|
|
15 |
|
|
|
16 |
(2) Any amended version of it shall be clearly marked to
|
|
|
17 |
show both the nature of and the organisation responsible
|
|
|
18 |
for the relevant amendment or amendments;
|
|
|
19 |
|
|
|
20 |
(3) Its onward transfer from a recipient to another
|
|
|
21 |
party shall be deemed to be that party's acceptance of
|
|
|
22 |
these conditions;
|
|
|
23 |
|
|
|
24 |
(4) DERA gives no warranty or assurance as to its
|
|
|
25 |
quality or suitability for any purpose and DERA accepts
|
|
|
26 |
no liability whatsoever in relation to any use to which
|
|
|
27 |
it may be put.
|
|
|
28 |
*/
|
|
|
29 |
|
|
|
30 |
/*
|
|
|
31 |
AUTOMATICALLY GENERATED FROM ALGEBRA c_class (VERSION 1.1)
|
|
|
32 |
BY calculus (VERSION 1.2)
|
|
|
33 |
*/
|
|
|
34 |
|
|
|
35 |
#ifndef TOK_OPS_H_INCLUDED
|
|
|
36 |
#define TOK_OPS_H_INCLUDED
|
|
|
37 |
|
|
|
38 |
/* Operations for union TOKEN */
|
|
|
39 |
|
7 |
7u83 |
40 |
#define TAG_tok(P) (CHECK_NULL(P)->ag_tag)
|
2 |
7u83 |
41 |
|
|
|
42 |
|
|
|
43 |
/* Operations for field exp of union TOKEN */
|
|
|
44 |
|
7 |
7u83 |
45 |
#define tok_exp_tag ((unsigned)0)
|
|
|
46 |
#define IS_tok_exp(P) (CHECK_NULL(P)->ag_tag == 0)
|
2 |
7u83 |
47 |
|
7 |
7u83 |
48 |
#define tok_exp_type(P) (CHECK_TAG((P), 0) + 1)
|
|
|
49 |
#define tok_exp_constant(P) (CHECK_TAG((P), 0) + 2)
|
|
|
50 |
#define tok_exp_value(P) (CHECK_TAG((P), 0) + 3)
|
2 |
7u83 |
51 |
|
7 |
7u83 |
52 |
#define MAKE_tok_exp(type_, constant_, value_, c_class_tok)\
|
2 |
7u83 |
53 |
{\
|
7 |
7u83 |
54 |
c_class *x817_ = GEN_c_class(4, TYPEID_tok);\
|
|
|
55 |
x817_->ag_tag = 0;\
|
|
|
56 |
COPY_type(x817_ + 1, (type_));\
|
|
|
57 |
COPY_int(x817_ + 2, (constant_));\
|
|
|
58 |
COPY_exp(x817_ + 3, (value_));\
|
|
|
59 |
(c_class_tok) = x817_;\
|
2 |
7u83 |
60 |
}
|
|
|
61 |
|
7 |
7u83 |
62 |
#define DECONS_tok_exp(type_, constant_, value_, c_class_tok)\
|
2 |
7u83 |
63 |
{\
|
7 |
7u83 |
64 |
c_class *x818_ = CHECK_TAG((c_class_tok), 0);\
|
|
|
65 |
(type_) = DEREF_type(x818_ + 1);\
|
|
|
66 |
(constant_) = DEREF_int(x818_ + 2);\
|
|
|
67 |
(value_) = DEREF_exp(x818_ + 3);\
|
2 |
7u83 |
68 |
}
|
|
|
69 |
|
7 |
7u83 |
70 |
#define DESTROY_tok_exp(destroyer_, type_, constant_, value_, c_class_tok)\
|
2 |
7u83 |
71 |
{\
|
7 |
7u83 |
72 |
c_class *x819_ = CHECK_TAG((c_class_tok), 0);\
|
|
|
73 |
(type_) = DEREF_type(x819_ + 1);\
|
|
|
74 |
(constant_) = DEREF_int(x819_ + 2);\
|
|
|
75 |
(value_) = DEREF_exp(x819_ + 3);\
|
|
|
76 |
(destroyer_)(x819_, (unsigned)4);\
|
2 |
7u83 |
77 |
}
|
|
|
78 |
|
|
|
79 |
|
|
|
80 |
/* Operations for field stmt of union TOKEN */
|
|
|
81 |
|
7 |
7u83 |
82 |
#define tok_stmt_tag ((unsigned)1)
|
|
|
83 |
#define IS_tok_stmt(P) (CHECK_NULL(P)->ag_tag == 1)
|
2 |
7u83 |
84 |
|
7 |
7u83 |
85 |
#define tok_stmt_value(P) (CHECK_TAG((P), 1) + 1)
|
2 |
7u83 |
86 |
|
7 |
7u83 |
87 |
#define MAKE_tok_stmt(value_, c_class_tok)\
|
2 |
7u83 |
88 |
{\
|
7 |
7u83 |
89 |
c_class *x820_ = GEN_c_class(2, TYPEID_tok);\
|
|
|
90 |
x820_->ag_tag = 1;\
|
|
|
91 |
COPY_exp(x820_ + 1, (value_));\
|
|
|
92 |
(c_class_tok) = x820_;\
|
2 |
7u83 |
93 |
}
|
|
|
94 |
|
7 |
7u83 |
95 |
#define DECONS_tok_stmt(value_, c_class_tok)\
|
2 |
7u83 |
96 |
{\
|
7 |
7u83 |
97 |
c_class *x821_ = CHECK_TAG((c_class_tok), 1);\
|
|
|
98 |
(value_) = DEREF_exp(x821_ + 1);\
|
2 |
7u83 |
99 |
}
|
|
|
100 |
|
7 |
7u83 |
101 |
#define DESTROY_tok_stmt(destroyer_, value_, c_class_tok)\
|
2 |
7u83 |
102 |
{\
|
7 |
7u83 |
103 |
c_class *x822_ = CHECK_TAG((c_class_tok), 1);\
|
|
|
104 |
(value_) = DEREF_exp(x822_ + 1);\
|
|
|
105 |
(destroyer_)(x822_, (unsigned)2);\
|
2 |
7u83 |
106 |
}
|
|
|
107 |
|
|
|
108 |
|
|
|
109 |
/* Operations for field set nat_etc of union TOKEN */
|
|
|
110 |
|
7 |
7u83 |
111 |
#define tok_nat_etc_tag ((unsigned)4)
|
|
|
112 |
#define IS_tok_nat_etc(P) ((unsigned)(CHECK_NULL(P)->ag_tag - 2) < (unsigned)2)
|
2 |
7u83 |
113 |
|
7 |
7u83 |
114 |
#define tok_nat_etc_value(P) (CHECK_TAG_ETC((P), 2, 4) + 1)
|
2 |
7u83 |
115 |
|
7 |
7u83 |
116 |
#define MAKE_tok_nat_etc(tag, value_, c_class_tok)\
|
2 |
7u83 |
117 |
{\
|
7 |
7u83 |
118 |
c_class *x823_ = GEN_c_class(2, TYPEID_tok);\
|
|
|
119 |
x823_->ag_tag = (tag);\
|
|
|
120 |
COPY_nat(x823_ + 1, (value_));\
|
|
|
121 |
(c_class_tok) = CHECK_TAG_ETC(x823_, 2, 4);\
|
2 |
7u83 |
122 |
}
|
|
|
123 |
|
7 |
7u83 |
124 |
#define MODIFY_tok_nat_etc(tag, c_class_tok)\
|
2 |
7u83 |
125 |
{\
|
7 |
7u83 |
126 |
c_class *x824_ = CHECK_TAG_ETC ((c_class_tok), 2, 4);\
|
|
|
127 |
x824_->ag_tag = (tag);\
|
|
|
128 |
(void) CHECK_TAG_ETC (x824_, 2, 4);\
|
2 |
7u83 |
129 |
}
|
|
|
130 |
|
7 |
7u83 |
131 |
#define DECONS_tok_nat_etc(value_, c_class_tok)\
|
2 |
7u83 |
132 |
{\
|
7 |
7u83 |
133 |
c_class *x825_ = CHECK_TAG_ETC((c_class_tok), 2, 4);\
|
|
|
134 |
(value_) = DEREF_nat(x825_ + 1);\
|
2 |
7u83 |
135 |
}
|
|
|
136 |
|
7 |
7u83 |
137 |
#define DESTROY_tok_nat_etc(destroyer_, value_, c_class_tok)\
|
2 |
7u83 |
138 |
{\
|
7 |
7u83 |
139 |
c_class *x826_ = CHECK_TAG_ETC((c_class_tok), 2, 4);\
|
|
|
140 |
(value_) = DEREF_nat(x826_ + 1);\
|
|
|
141 |
(destroyer_)(x826_, (unsigned)2);\
|
2 |
7u83 |
142 |
}
|
|
|
143 |
|
|
|
144 |
|
|
|
145 |
/* Operations for field nat of union TOKEN */
|
|
|
146 |
|
7 |
7u83 |
147 |
#define tok_nat_tag ((unsigned)2)
|
|
|
148 |
#define IS_tok_nat(P) (CHECK_NULL(P)->ag_tag == 2)
|
2 |
7u83 |
149 |
|
7 |
7u83 |
150 |
#define tok_nat_value(P) (CHECK_TAG((P), 2) + 1)
|
2 |
7u83 |
151 |
|
7 |
7u83 |
152 |
#define MAKE_tok_nat(value_, c_class_tok)\
|
2 |
7u83 |
153 |
{\
|
7 |
7u83 |
154 |
c_class *x827_ = GEN_c_class(2, TYPEID_tok);\
|
|
|
155 |
x827_->ag_tag = 2;\
|
|
|
156 |
COPY_nat(x827_ + 1, (value_));\
|
|
|
157 |
(c_class_tok) = x827_;\
|
2 |
7u83 |
158 |
}
|
|
|
159 |
|
7 |
7u83 |
160 |
#define DECONS_tok_nat(value_, c_class_tok)\
|
2 |
7u83 |
161 |
{\
|
7 |
7u83 |
162 |
c_class *x828_ = CHECK_TAG((c_class_tok), 2);\
|
|
|
163 |
(value_) = DEREF_nat(x828_ + 1);\
|
2 |
7u83 |
164 |
}
|
|
|
165 |
|
7 |
7u83 |
166 |
#define DESTROY_tok_nat(destroyer_, value_, c_class_tok)\
|
2 |
7u83 |
167 |
{\
|
7 |
7u83 |
168 |
c_class *x829_ = CHECK_TAG((c_class_tok), 2);\
|
|
|
169 |
(value_) = DEREF_nat(x829_ + 1);\
|
|
|
170 |
(destroyer_)(x829_, (unsigned)2);\
|
2 |
7u83 |
171 |
}
|
|
|
172 |
|
|
|
173 |
|
|
|
174 |
/* Operations for field snat of union TOKEN */
|
|
|
175 |
|
7 |
7u83 |
176 |
#define tok_snat_tag ((unsigned)3)
|
|
|
177 |
#define IS_tok_snat(P) (CHECK_NULL(P)->ag_tag == 3)
|
2 |
7u83 |
178 |
|
7 |
7u83 |
179 |
#define tok_snat_value(P) (CHECK_TAG((P), 3) + 1)
|
2 |
7u83 |
180 |
|
7 |
7u83 |
181 |
#define MAKE_tok_snat(value_, c_class_tok)\
|
2 |
7u83 |
182 |
{\
|
7 |
7u83 |
183 |
c_class *x830_ = GEN_c_class(2, TYPEID_tok);\
|
|
|
184 |
x830_->ag_tag = 3;\
|
|
|
185 |
COPY_nat(x830_ + 1, (value_));\
|
|
|
186 |
(c_class_tok) = x830_;\
|
2 |
7u83 |
187 |
}
|
|
|
188 |
|
7 |
7u83 |
189 |
#define DECONS_tok_snat(value_, c_class_tok)\
|
2 |
7u83 |
190 |
{\
|
7 |
7u83 |
191 |
c_class *x831_ = CHECK_TAG((c_class_tok), 3);\
|
|
|
192 |
(value_) = DEREF_nat(x831_ + 1);\
|
2 |
7u83 |
193 |
}
|
|
|
194 |
|
7 |
7u83 |
195 |
#define DESTROY_tok_snat(destroyer_, value_, c_class_tok)\
|
2 |
7u83 |
196 |
{\
|
7 |
7u83 |
197 |
c_class *x832_ = CHECK_TAG((c_class_tok), 3);\
|
|
|
198 |
(value_) = DEREF_nat(x832_ + 1);\
|
|
|
199 |
(destroyer_)(x832_, (unsigned)2);\
|
2 |
7u83 |
200 |
}
|
|
|
201 |
|
|
|
202 |
|
|
|
203 |
/* Operations for field type of union TOKEN */
|
|
|
204 |
|
7 |
7u83 |
205 |
#define tok_type_tag ((unsigned)4)
|
|
|
206 |
#define IS_tok_type(P) (CHECK_NULL(P)->ag_tag == 4)
|
2 |
7u83 |
207 |
|
7 |
7u83 |
208 |
#define tok_type_kind(P) (CHECK_TAG((P), 4) + 1)
|
|
|
209 |
#define tok_type_value(P) (CHECK_TAG((P), 4) + 2)
|
|
|
210 |
#define tok_type_alt(P) (CHECK_TAG((P), 4) + 3)
|
2 |
7u83 |
211 |
|
7 |
7u83 |
212 |
#define MAKE_tok_type(kind_, value_, c_class_tok)\
|
2 |
7u83 |
213 |
{\
|
7 |
7u83 |
214 |
c_class *x833_ = GEN_c_class(4, TYPEID_tok);\
|
|
|
215 |
x833_->ag_tag = 4;\
|
|
|
216 |
COPY_btype(x833_ + 1, (kind_));\
|
|
|
217 |
COPY_type(x833_ + 2, (value_));\
|
|
|
218 |
COPY_type(x833_ + 3, NULL_type);\
|
|
|
219 |
(c_class_tok) = x833_;\
|
2 |
7u83 |
220 |
}
|
|
|
221 |
|
7 |
7u83 |
222 |
#define DECONS_tok_type(kind_, value_, alt_, c_class_tok)\
|
2 |
7u83 |
223 |
{\
|
7 |
7u83 |
224 |
c_class *x834_ = CHECK_TAG((c_class_tok), 4);\
|
|
|
225 |
(kind_) = DEREF_btype(x834_ + 1);\
|
|
|
226 |
(value_) = DEREF_type(x834_ + 2);\
|
|
|
227 |
(alt_) = DEREF_type(x834_ + 3);\
|
2 |
7u83 |
228 |
}
|
|
|
229 |
|
7 |
7u83 |
230 |
#define DESTROY_tok_type(destroyer_, kind_, value_, alt_, c_class_tok)\
|
2 |
7u83 |
231 |
{\
|
7 |
7u83 |
232 |
c_class *x835_ = CHECK_TAG((c_class_tok), 4);\
|
|
|
233 |
(kind_) = DEREF_btype(x835_ + 1);\
|
|
|
234 |
(value_) = DEREF_type(x835_ + 2);\
|
|
|
235 |
(alt_) = DEREF_type(x835_ + 3);\
|
|
|
236 |
(destroyer_)(x835_, (unsigned)4);\
|
2 |
7u83 |
237 |
}
|
|
|
238 |
|
|
|
239 |
|
|
|
240 |
/* Operations for field func of union TOKEN */
|
|
|
241 |
|
7 |
7u83 |
242 |
#define tok_func_tag ((unsigned)5)
|
|
|
243 |
#define IS_tok_func(P) (CHECK_NULL(P)->ag_tag == 5)
|
2 |
7u83 |
244 |
|
7 |
7u83 |
245 |
#define tok_func_type(P) (CHECK_TAG((P), 5) + 1)
|
|
|
246 |
#define tok_func_defn(P) (CHECK_TAG((P), 5) + 2)
|
|
|
247 |
#define tok_func_proc(P) (CHECK_TAG((P), 5) + 3)
|
2 |
7u83 |
248 |
|
7 |
7u83 |
249 |
#define MAKE_tok_func(type_, c_class_tok)\
|
2 |
7u83 |
250 |
{\
|
7 |
7u83 |
251 |
c_class *x836_ = GEN_c_class(4, TYPEID_tok);\
|
|
|
252 |
x836_->ag_tag = 5;\
|
|
|
253 |
COPY_type(x836_ + 1, (type_));\
|
|
|
254 |
COPY_id(x836_ + 2, NULL_id);\
|
|
|
255 |
COPY_tok(x836_ + 3, NULL_tok);\
|
|
|
256 |
(c_class_tok) = x836_;\
|
2 |
7u83 |
257 |
}
|
|
|
258 |
|
7 |
7u83 |
259 |
#define DECONS_tok_func(type_, defn_, proc_, c_class_tok)\
|
2 |
7u83 |
260 |
{\
|
7 |
7u83 |
261 |
c_class *x837_ = CHECK_TAG((c_class_tok), 5);\
|
|
|
262 |
(type_) = DEREF_type(x837_ + 1);\
|
|
|
263 |
(defn_) = DEREF_id(x837_ + 2);\
|
|
|
264 |
(proc_) = DEREF_tok(x837_ + 3);\
|
2 |
7u83 |
265 |
}
|
|
|
266 |
|
7 |
7u83 |
267 |
#define DESTROY_tok_func(destroyer_, type_, defn_, proc_, c_class_tok)\
|
2 |
7u83 |
268 |
{\
|
7 |
7u83 |
269 |
c_class *x838_ = CHECK_TAG((c_class_tok), 5);\
|
|
|
270 |
(type_) = DEREF_type(x838_ + 1);\
|
|
|
271 |
(defn_) = DEREF_id(x838_ + 2);\
|
|
|
272 |
(proc_) = DEREF_tok(x838_ + 3);\
|
|
|
273 |
(destroyer_)(x838_, (unsigned)4);\
|
2 |
7u83 |
274 |
}
|
|
|
275 |
|
|
|
276 |
|
|
|
277 |
/* Operations for field member of union TOKEN */
|
|
|
278 |
|
7 |
7u83 |
279 |
#define tok_member_tag ((unsigned)6)
|
|
|
280 |
#define IS_tok_member(P) (CHECK_NULL(P)->ag_tag == 6)
|
2 |
7u83 |
281 |
|
7 |
7u83 |
282 |
#define tok_member_of(P) (CHECK_TAG((P), 6) + 1)
|
|
|
283 |
#define tok_member_type(P) (CHECK_TAG((P), 6) + 2)
|
|
|
284 |
#define tok_member_value(P) (CHECK_TAG((P), 6) + 3)
|
2 |
7u83 |
285 |
|
7 |
7u83 |
286 |
#define MAKE_tok_member(of_, type_, value_, c_class_tok)\
|
2 |
7u83 |
287 |
{\
|
7 |
7u83 |
288 |
c_class *x839_ = GEN_c_class(4, TYPEID_tok);\
|
|
|
289 |
x839_->ag_tag = 6;\
|
|
|
290 |
COPY_type(x839_ + 1, (of_));\
|
|
|
291 |
COPY_type(x839_ + 2, (type_));\
|
|
|
292 |
COPY_off(x839_ + 3, (value_));\
|
|
|
293 |
(c_class_tok) = x839_;\
|
2 |
7u83 |
294 |
}
|
|
|
295 |
|
7 |
7u83 |
296 |
#define DECONS_tok_member(of_, type_, value_, c_class_tok)\
|
2 |
7u83 |
297 |
{\
|
7 |
7u83 |
298 |
c_class *x840_ = CHECK_TAG((c_class_tok), 6);\
|
|
|
299 |
(of_) = DEREF_type(x840_ + 1);\
|
|
|
300 |
(type_) = DEREF_type(x840_ + 2);\
|
|
|
301 |
(value_) = DEREF_off(x840_ + 3);\
|
2 |
7u83 |
302 |
}
|
|
|
303 |
|
7 |
7u83 |
304 |
#define DESTROY_tok_member(destroyer_, of_, type_, value_, c_class_tok)\
|
2 |
7u83 |
305 |
{\
|
7 |
7u83 |
306 |
c_class *x841_ = CHECK_TAG((c_class_tok), 6);\
|
|
|
307 |
(of_) = DEREF_type(x841_ + 1);\
|
|
|
308 |
(type_) = DEREF_type(x841_ + 2);\
|
|
|
309 |
(value_) = DEREF_off(x841_ + 3);\
|
|
|
310 |
(destroyer_)(x841_, (unsigned)4);\
|
2 |
7u83 |
311 |
}
|
|
|
312 |
|
|
|
313 |
|
|
|
314 |
/* Operations for field class of union TOKEN */
|
|
|
315 |
|
7 |
7u83 |
316 |
#define tok_class_tag ((unsigned)7)
|
|
|
317 |
#define IS_tok_class(P) (CHECK_NULL(P)->ag_tag == 7)
|
2 |
7u83 |
318 |
|
7 |
7u83 |
319 |
#define tok_class_type(P) (CHECK_TAG((P), 7) + 1)
|
|
|
320 |
#define tok_class_value(P) (CHECK_TAG((P), 7) + 2)
|
|
|
321 |
#define tok_class_alt(P) (CHECK_TAG((P), 7) + 3)
|
2 |
7u83 |
322 |
|
7 |
7u83 |
323 |
#define MAKE_tok_class(type_, value_, c_class_tok)\
|
2 |
7u83 |
324 |
{\
|
7 |
7u83 |
325 |
c_class *x842_ = GEN_c_class(4, TYPEID_tok);\
|
|
|
326 |
x842_->ag_tag = 7;\
|
|
|
327 |
COPY_type(x842_ + 1, (type_));\
|
|
|
328 |
COPY_id(x842_ + 2, (value_));\
|
|
|
329 |
COPY_type(x842_ + 3, NULL_type);\
|
|
|
330 |
(c_class_tok) = x842_;\
|
2 |
7u83 |
331 |
}
|
|
|
332 |
|
7 |
7u83 |
333 |
#define DECONS_tok_class(type_, value_, alt_, c_class_tok)\
|
2 |
7u83 |
334 |
{\
|
7 |
7u83 |
335 |
c_class *x843_ = CHECK_TAG((c_class_tok), 7);\
|
|
|
336 |
(type_) = DEREF_type(x843_ + 1);\
|
|
|
337 |
(value_) = DEREF_id(x843_ + 2);\
|
|
|
338 |
(alt_) = DEREF_type(x843_ + 3);\
|
2 |
7u83 |
339 |
}
|
|
|
340 |
|
7 |
7u83 |
341 |
#define DESTROY_tok_class(destroyer_, type_, value_, alt_, c_class_tok)\
|
2 |
7u83 |
342 |
{\
|
7 |
7u83 |
343 |
c_class *x844_ = CHECK_TAG((c_class_tok), 7);\
|
|
|
344 |
(type_) = DEREF_type(x844_ + 1);\
|
|
|
345 |
(value_) = DEREF_id(x844_ + 2);\
|
|
|
346 |
(alt_) = DEREF_type(x844_ + 3);\
|
|
|
347 |
(destroyer_)(x844_, (unsigned)4);\
|
2 |
7u83 |
348 |
}
|
|
|
349 |
|
|
|
350 |
|
|
|
351 |
/* Operations for field proc of union TOKEN */
|
|
|
352 |
|
7 |
7u83 |
353 |
#define tok_proc_tag ((unsigned)8)
|
|
|
354 |
#define IS_tok_proc(P) (CHECK_NULL(P)->ag_tag == 8)
|
2 |
7u83 |
355 |
|
7 |
7u83 |
356 |
#define tok_proc_res(P) (CHECK_TAG((P), 8) + 1)
|
|
|
357 |
#define tok_proc_pars(P) (CHECK_TAG((P), 8) + 2)
|
|
|
358 |
#define tok_proc_key(P) (CHECK_TAG((P), 8) + 3)
|
|
|
359 |
#define tok_proc_apps(P) (CHECK_TAG((P), 8) + 4)
|
|
|
360 |
#define tok_proc_bids(P) (CHECK_TAG((P), 8) + 5)
|
|
|
361 |
#define tok_proc_pids(P) (CHECK_TAG((P), 8) + 6)
|
2 |
7u83 |
362 |
|
7 |
7u83 |
363 |
#define MAKE_tok_proc(res_, pars_, key_, c_class_tok)\
|
2 |
7u83 |
364 |
{\
|
7 |
7u83 |
365 |
c_class *x845_ = GEN_c_class(7, TYPEID_tok);\
|
|
|
366 |
x845_->ag_tag = 8;\
|
|
|
367 |
COPY_tok(x845_ + 1, (res_));\
|
|
|
368 |
COPY_nspace(x845_ + 2, (pars_));\
|
|
|
369 |
COPY_int(x845_ + 3, (key_));\
|
|
|
370 |
COPY_inst(x845_ + 4, NULL_inst);\
|
|
|
371 |
COPY_list(x845_ + 5, NULL_list ( IDENTIFIER ));\
|
|
|
372 |
COPY_list(x845_ + 6, NULL_list ( IDENTIFIER ));\
|
|
|
373 |
(c_class_tok) = x845_;\
|
2 |
7u83 |
374 |
}
|
|
|
375 |
|
7 |
7u83 |
376 |
#define DECONS_tok_proc(res_, pars_, key_, apps_, bids_, pids_, c_class_tok)\
|
2 |
7u83 |
377 |
{\
|
7 |
7u83 |
378 |
c_class *x846_ = CHECK_TAG((c_class_tok), 8);\
|
|
|
379 |
(res_) = DEREF_tok(x846_ + 1);\
|
|
|
380 |
(pars_) = DEREF_nspace(x846_ + 2);\
|
|
|
381 |
(key_) = DEREF_int(x846_ + 3);\
|
|
|
382 |
(apps_) = DEREF_inst(x846_ + 4);\
|
|
|
383 |
(bids_) = DEREF_list(x846_ + 5);\
|
|
|
384 |
(pids_) = DEREF_list(x846_ + 6);\
|
2 |
7u83 |
385 |
}
|
|
|
386 |
|
7 |
7u83 |
387 |
#define DESTROY_tok_proc(destroyer_, res_, pars_, key_, apps_, bids_, pids_, c_class_tok)\
|
2 |
7u83 |
388 |
{\
|
7 |
7u83 |
389 |
c_class *x847_ = CHECK_TAG((c_class_tok), 8);\
|
|
|
390 |
(res_) = DEREF_tok(x847_ + 1);\
|
|
|
391 |
(pars_) = DEREF_nspace(x847_ + 2);\
|
|
|
392 |
(key_) = DEREF_int(x847_ + 3);\
|
|
|
393 |
(apps_) = DEREF_inst(x847_ + 4);\
|
|
|
394 |
(bids_) = DEREF_list(x847_ + 5);\
|
|
|
395 |
(pids_) = DEREF_list(x847_ + 6);\
|
|
|
396 |
(destroyer_)(x847_, (unsigned)7);\
|
2 |
7u83 |
397 |
}
|
|
|
398 |
|
|
|
399 |
|
|
|
400 |
/* Operations for field templ of union TOKEN */
|
|
|
401 |
|
7 |
7u83 |
402 |
#define tok_templ_tag ((unsigned)9)
|
|
|
403 |
#define IS_tok_templ(P) (CHECK_NULL(P)->ag_tag == 9)
|
2 |
7u83 |
404 |
|
7 |
7u83 |
405 |
#define tok_templ_usage(P) (CHECK_TAG((P), 9) + 1)
|
|
|
406 |
#define tok_templ_pars(P) (CHECK_TAG((P), 9) + 2)
|
|
|
407 |
#define tok_templ_apps(P) (CHECK_TAG((P), 9) + 3)
|
|
|
408 |
#define tok_templ_pids(P) (CHECK_TAG((P), 9) + 4)
|
|
|
409 |
#define tok_templ_dargs(P) (CHECK_TAG((P), 9) + 5)
|
2 |
7u83 |
410 |
|
7 |
7u83 |
411 |
#define MAKE_tok_templ(usage_, pars_, c_class_tok)\
|
2 |
7u83 |
412 |
{\
|
7 |
7u83 |
413 |
c_class *x848_ = GEN_c_class(6, TYPEID_tok);\
|
|
|
414 |
x848_->ag_tag = 9;\
|
|
|
415 |
COPY_dspec(x848_ + 1, (usage_));\
|
|
|
416 |
COPY_nspace(x848_ + 2, (pars_));\
|
|
|
417 |
COPY_inst(x848_ + 3, NULL_inst);\
|
|
|
418 |
COPY_list(x848_ + 4, NULL_list ( IDENTIFIER ));\
|
|
|
419 |
COPY_list(x848_ + 5, NULL_list ( TOKEN ));\
|
|
|
420 |
(c_class_tok) = x848_;\
|
2 |
7u83 |
421 |
}
|
|
|
422 |
|
7 |
7u83 |
423 |
#define DECONS_tok_templ(usage_, pars_, apps_, pids_, dargs_, c_class_tok)\
|
2 |
7u83 |
424 |
{\
|
7 |
7u83 |
425 |
c_class *x849_ = CHECK_TAG((c_class_tok), 9);\
|
|
|
426 |
(usage_) = DEREF_dspec(x849_ + 1);\
|
|
|
427 |
(pars_) = DEREF_nspace(x849_ + 2);\
|
|
|
428 |
(apps_) = DEREF_inst(x849_ + 3);\
|
|
|
429 |
(pids_) = DEREF_list(x849_ + 4);\
|
|
|
430 |
(dargs_) = DEREF_list(x849_ + 5);\
|
2 |
7u83 |
431 |
}
|
|
|
432 |
|
7 |
7u83 |
433 |
#define DESTROY_tok_templ(destroyer_, usage_, pars_, apps_, pids_, dargs_, c_class_tok)\
|
2 |
7u83 |
434 |
{\
|
7 |
7u83 |
435 |
c_class *x850_ = CHECK_TAG((c_class_tok), 9);\
|
|
|
436 |
(usage_) = DEREF_dspec(x850_ + 1);\
|
|
|
437 |
(pars_) = DEREF_nspace(x850_ + 2);\
|
|
|
438 |
(apps_) = DEREF_inst(x850_ + 3);\
|
|
|
439 |
(pids_) = DEREF_list(x850_ + 4);\
|
|
|
440 |
(dargs_) = DEREF_list(x850_ + 5);\
|
|
|
441 |
(destroyer_)(x850_, (unsigned)6);\
|
2 |
7u83 |
442 |
}
|
|
|
443 |
|
|
|
444 |
|
|
|
445 |
#endif
|