Subversion Repositories tendra.SVN

Rev

Rev 2 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 7u83 1
/*
7 7u83 2
 * Copyright (c) 2002-2005 The TenDRA Project <http://www.tendra.org/>.
3
 * All rights reserved.
4
 *
5
 * Redistribution and use in source and binary forms, with or without
6
 * modification, are permitted provided that the following conditions are met:
7
 *
8
 * 1. Redistributions of source code must retain the above copyright notice,
9
 *    this list of conditions and the following disclaimer.
10
 * 2. Redistributions in binary form must reproduce the above copyright notice,
11
 *    this list of conditions and the following disclaimer in the documentation
12
 *    and/or other materials provided with the distribution.
13
 * 3. Neither the name of The TenDRA Project nor the names of its contributors
14
 *    may be used to endorse or promote products derived from this software
15
 *    without specific, prior written permission.
16
 *
17
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS
18
 * IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
19
 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
20
 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR
21
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
22
 * EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
23
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
24
 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
25
 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
26
 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
27
 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
 *
29
 * $Id$
30
 */
31
/*
2 7u83 32
    		 Crown Copyright (c) 1997
7 7u83 33
 
2 7u83 34
    This TenDRA(r) Computer Program is subject to Copyright
35
    owned by the United Kingdom Secretary of State for Defence
36
    acting through the Defence Evaluation and Research Agency
37
    (DERA).  It is made available to Recipients with a
38
    royalty-free licence for its use, reproduction, transfer
39
    to other parties and amendment for any purpose not excluding
40
    product development provided that any such use et cetera
41
    shall be deemed to be acceptance of the following conditions:-
7 7u83 42
 
2 7u83 43
        (1) Its Recipients shall ensure that this Notice is
44
        reproduced upon any copies or amended versions of it;
7 7u83 45
 
2 7u83 46
        (2) Any amended version of it shall be clearly marked to
47
        show both the nature of and the organisation responsible
48
        for the relevant amendment or amendments;
7 7u83 49
 
2 7u83 50
        (3) Its onward transfer from a recipient to another
51
        party shall be deemed to be that party's acceptance of
52
        these conditions;
7 7u83 53
 
2 7u83 54
        (4) DERA gives no warranty or assurance as to its
55
        quality or suitability for any purpose and DERA accepts
56
        no liability whatsoever in relation to any use to which
57
        it may be put.
58
*/
59
 
60
 
61
/* AUTOMATICALLY GENERATED BY make_tdf VERSION 2.0 FROM TDF 4.1 */
62
 
63
#ifndef EXTERNS_INCLUDED
64
#define EXTERNS_INCLUDED
65
 
66
 
67
/* CONSTRUCTS FOR ACCESS */
7 7u83 68
extern access f_access_apply_token(token, bitstream);
69
extern access f_access_cond(exp, bitstream, bitstream);
70
extern access f_add_accesses(access, access);
71
extern access f_constant;
72
extern access f_long_jump_access;
73
extern access f_no_other_read;
74
extern access f_no_other_write;
75
extern access f_out_par;
76
extern access f_preserve;
77
extern access f_register;
78
extern access f_standard_access;
79
extern access f_used_as_volatile;
80
extern access f_visible;
81
extern access f_dummy_access;
82
extern void init_access(void);
2 7u83 83
 
84
/* CONSTRUCTS FOR ACCESS_OPTION */
7 7u83 85
extern access_option yes_access_option(access);
86
extern access_option no_access_option;
87
extern void init_access_option(void);
2 7u83 88
 
89
/* CONSTRUCTS FOR AL_TAG */
7 7u83 90
extern al_tag f_al_tag_apply_token(token, bitstream);
91
extern al_tag f_make_al_tag(tdfint);
92
extern al_tag f_dummy_al_tag;
93
extern void init_al_tag(void);
2 7u83 94
 
95
/* CONSTRUCTS FOR AL_TAGDEF */
7 7u83 96
extern al_tagdef f_make_al_tagdef(tdfint, alignment);
97
extern al_tagdef f_dummy_al_tagdef;
98
extern void init_al_tagdef(void);
2 7u83 99
 
100
/* CONSTRUCTS FOR AL_TAGDEF_LIST */
7 7u83 101
extern al_tagdef_list new_al_tagdef_list(int);
102
extern al_tagdef_list add_al_tagdef_list(al_tagdef_list, al_tagdef, int);
103
extern void init_al_tagdef_list(void);
2 7u83 104
 
105
/* CONSTRUCTS FOR AL_TAGDEF_PROPS */
7 7u83 106
extern al_tagdef_props f_make_al_tagdefs(tdfint, al_tagdef_list);
107
extern al_tagdef_props f_dummy_al_tagdef_props;
108
extern void init_al_tagdef_props(void);
2 7u83 109
 
110
/* CONSTRUCTS FOR ALIGNMENT */
7 7u83 111
extern alignment f_alignment_apply_token(token, bitstream);
112
extern alignment f_alignment_cond(exp, bitstream, bitstream);
113
extern alignment f_alignment(shape);
114
extern alignment f_alloca_alignment;
115
extern alignment f_callees_alignment(bool);
116
extern alignment f_callers_alignment(bool);
117
extern alignment f_code_alignment;
118
extern alignment f_locals_alignment;
119
extern alignment f_obtain_al_tag(al_tag);
120
extern alignment f_parameter_alignment(shape);
121
extern alignment f_unite_alignments(alignment, alignment);
122
extern alignment f_var_param_alignment;
123
extern alignment f_dummy_alignment;
124
extern void init_alignment(void);
2 7u83 125
 
126
/* CONSTRUCTS FOR BITFIELD_VARIETY */
7 7u83 127
extern bitfield_variety f_bfvar_apply_token(token, bitstream);
128
extern bitfield_variety f_bfvar_cond(exp, bitstream, bitstream);
129
extern bitfield_variety f_bfvar_bits(bool, nat);
130
extern bitfield_variety f_dummy_bitfield_variety;
131
extern void init_bitfield_variety(void);
2 7u83 132
 
133
/* CONSTRUCTS FOR BOOL */
7 7u83 134
extern bool f_bool_apply_token(token, bitstream);
135
extern bool f_bool_cond(exp, bitstream, bitstream);
136
extern bool f_false;
137
extern bool f_true;
138
extern bool f_dummy_bool;
139
extern void init_bool(void);
2 7u83 140
 
141
/* CONSTRUCTS FOR BOOL_OPTION */
7 7u83 142
extern bool_option yes_bool_option(bool);
143
extern bool_option no_bool_option;
144
extern void init_bool_option(void);
2 7u83 145
 
146
/* CONSTRUCTS FOR CALLEES */
7 7u83 147
extern callees f_make_callee_list(exp_list);
148
extern callees f_make_dynamic_callees(exp, exp);
149
extern callees f_same_callees;
150
extern callees f_dummy_callees;
151
extern void init_callees(void);
2 7u83 152
 
153
/* CONSTRUCTS FOR CAPSULE */
7 7u83 154
extern void start_make_capsule(tdfident_list, capsule_link_list);
155
extern capsule f_make_capsule(tdfident_list, capsule_link_list,
156
			      extern_link_list, group_list);
157
extern capsule f_dummy_capsule;
158
extern void init_capsule(void);
2 7u83 159
 
160
/* CONSTRUCTS FOR CAPSULE_LINK */
7 7u83 161
extern capsule_link f_make_capsule_link(tdfident, tdfint);
162
extern capsule_link f_dummy_capsule_link;
163
extern void init_capsule_link(void);
2 7u83 164
 
165
/* CONSTRUCTS FOR CAPSULE_LINK_LIST */
7 7u83 166
extern capsule_link_list new_capsule_link_list(int);
167
extern capsule_link_list add_capsule_link_list(capsule_link_list,
168
					       capsule_link, int);
169
extern void init_capsule_link_list(void);
2 7u83 170
 
171
/* CONSTRUCTS FOR CASELIM */
7 7u83 172
extern caselim f_make_caselim(label, signed_nat, signed_nat);
173
extern caselim f_dummy_caselim;
174
extern void init_caselim(void);
2 7u83 175
 
176
/* CONSTRUCTS FOR CASELIM_LIST */
7 7u83 177
extern caselim_list new_caselim_list(int);
178
extern caselim_list add_caselim_list(caselim_list, caselim, int);
179
extern void init_caselim_list(void);
2 7u83 180
 
181
/* CONSTRUCTS FOR DG */
7 7u83 182
extern dg f_dg_apply_token(token, bitstream);
183
extern dg f_make_tag_dg(dg_tag, dg);
184
extern dg f_abortable_part_dg(dg_sourcepos, bool);
185
extern dg f_accept_dg(dg_sourcepos, dg_tag, dg_name_list, bool, dg_tag_option);
186
extern dg f_barrier_dg(dg_sourcepos, dg_tag);
187
extern dg f_branch_dg(dg_sourcepos);
188
extern dg f_call_dg(dg_idname_option, dg_sourcepos, nat_option, dg_tag_option,
189
		    dg_tag_option);
190
extern dg f_compilation_dg(dg_tag);
191
extern dg f_destructor_dg(dg_sourcepos, exp_option);
192
extern dg f_exception_handler_dg(dg_name_option);
193
extern dg f_exception_scope_dg(dg_tag_list);
194
extern dg f_inline_call_dg(dg_tag, dg_name_list, nat_option);
195
extern dg f_inline_result_dg(dg_tag);
196
extern dg f_inlined_dg(dg, dg_tag);
197
extern dg f_jump_dg(dg_sourcepos);
198
extern dg f_label_dg(dg_idname, dg_sourcepos);
199
extern dg f_lexical_block_dg(dg_idname_option, dg_sourcepos);
200
extern dg f_list_dg(dg_list);
201
extern dg f_long_jump_dg(dg_sourcepos);
202
extern dg f_name_decl_dg(dg_name);
203
extern dg f_params_dg(dg_name_list, exp_option);
204
extern dg f_raise_dg(dg_sourcepos, dg_type_option, exp_option);
205
extern dg f_requeue_dg(dg_sourcepos, dg_tag, bool);
206
extern dg f_rts_call_dg(dg_sourcepos, nat, dg_tag_option, dg_tag_option);
207
extern dg f_select_dg(dg_sourcepos, bool);
208
extern dg f_select_alternative_dg(dg_sourcepos, nat, bool, exp);
209
extern dg f_select_guard_dg(dg_sourcepos, dg_tag);
210
extern dg f_singlestep_dg(dg_sourcepos);
211
extern dg f_source_language_dg(nat);
212
extern dg f_sourcepos_dg(dg_sourcepos);
213
extern dg f_statement_part_dg(dg_tag);
214
extern dg f_test_dg(dg_sourcepos, bool);
215
extern dg f_triggering_alternative_dg(dg_sourcepos, nat, bool);
216
extern dg f_with_dg(dg_type, exp);
217
extern dg f_dummy_dg;
218
extern void init_dg(void);
2 7u83 219
 
220
/* CONSTRUCTS FOR DG_ACCESSIBILITY */
7 7u83 221
extern dg_accessibility f_dg_local_accessibility;
222
extern dg_accessibility f_dg_private_accessibility;
223
extern dg_accessibility f_dg_protected_accessibility;
224
extern dg_accessibility f_dg_public_accessibility;
225
extern dg_accessibility f_dummy_dg_accessibility;
226
extern void init_dg_accessibility(void);
2 7u83 227
 
228
/* CONSTRUCTS FOR DG_ACCESSIBILITY_OPTION */
7 7u83 229
extern dg_accessibility_option yes_dg_accessibility_option(dg_accessibility);
230
extern dg_accessibility_option no_dg_accessibility_option;
231
extern void init_dg_accessibility_option(void);
2 7u83 232
 
233
/* CONSTRUCTS FOR DG_APPEND */
7 7u83 234
extern dg_append f_dg_name_append(dg_tag, dg_name);
235
extern dg_append f_dummy_dg_append;
236
extern void init_dg_append(void);
2 7u83 237
 
238
/* CONSTRUCTS FOR DG_APPEND_LIST */
7 7u83 239
extern dg_append_list new_dg_append_list(int);
240
extern dg_append_list add_dg_append_list(dg_append_list, dg_append, int);
241
extern void init_dg_append_list(void);
2 7u83 242
 
243
/* CONSTRUCTS FOR DG_BOUND */
7 7u83 244
extern dg_bound f_dg_dynamic_bound(dg_tag, shape);
245
extern dg_bound f_dg_static_bound(exp);
246
extern dg_bound f_dg_unknown_bound(shape);
247
extern dg_bound f_dummy_dg_bound;
248
extern void init_dg_bound(void);
2 7u83 249
 
250
/* CONSTRUCTS FOR DG_CLASS_BASE */
7 7u83 251
extern dg_class_base f_make_dg_class_base(dg_tag, dg_sourcepos_option,
252
					  token_option, dg_accessibility_option,
253
					  dg_virtuality_option);
254
extern dg_class_base f_dummy_dg_class_base;
255
extern void init_dg_class_base(void);
2 7u83 256
 
257
/* CONSTRUCTS FOR DG_CLASS_BASE_LIST */
7 7u83 258
extern dg_class_base_list new_dg_class_base_list(int);
259
extern dg_class_base_list add_dg_class_base_list(dg_class_base_list,
260
						 dg_class_base, int);
261
extern void init_dg_class_base_list(void);
2 7u83 262
 
263
/* CONSTRUCTS FOR DG_CLASSMEM */
7 7u83 264
extern dg_classmem f_dg_tag_classmem(dg_tag, dg_classmem);
265
extern dg_classmem f_dg_field_classmem(dg_idname, dg_sourcepos, exp, dg_type,
266
				       dg_accessibility_option, bool_option,
267
				       dg_default_option);
268
extern dg_classmem f_dg_function_classmem(dg_name, exp_option);
269
extern dg_classmem f_dg_indirect_classmem(dg_idname, dg_sourcepos, token,
270
					  dg_type);
271
extern dg_classmem f_dg_name_classmem(dg_name);
272
extern dg_classmem f_dummy_dg_classmem;
273
extern void init_dg_classmem(void);
2 7u83 274
 
275
/* CONSTRUCTS FOR DG_CLASSMEM_LIST */
7 7u83 276
extern dg_classmem_list new_dg_classmem_list(int);
277
extern dg_classmem_list add_dg_classmem_list(dg_classmem_list, dg_classmem,
278
					     int);
279
extern void init_dg_classmem_list(void);
2 7u83 280
 
281
/* CONSTRUCTS FOR DG_COMP_PROPS */
7 7u83 282
extern dg_comp_props f_make_dg_compunit(tdfint, dg_compilation, dg_append_list);
283
extern dg_comp_props f_dummy_dg_comp_props;
284
extern void init_dg_comp_props(void);
2 7u83 285
 
286
/* CONSTRUCTS FOR DG_COMPILATION */
7 7u83 287
extern dg_compilation f_dg_tag_compilation(dg_tag, dg_compilation);
288
extern dg_compilation f_make_dg_compilation(dg_filename, string_list,
289
					    dg_macro_list, dg_filename, nat,
290
					    nat, nat, string, string_list,
291
					    dg_namelist);
292
extern dg_compilation f_dummy_dg_compilation;
293
extern void init_dg_compilation(void);
2 7u83 294
 
295
/* CONSTRUCTS FOR DG_CONSTRAINT */
7 7u83 296
extern dg_constraint f_dg_type_constraint(dg_tag_option, dg_type);
297
extern dg_constraint f_dg_value_constraint(dg_tag_option, exp);
298
extern dg_constraint f_dummy_dg_constraint;
299
extern void init_dg_constraint(void);
2 7u83 300
 
301
/* CONSTRUCTS FOR DG_CONSTRAINT_LIST */
7 7u83 302
extern dg_constraint_list new_dg_constraint_list(int);
303
extern dg_constraint_list add_dg_constraint_list(dg_constraint_list,
304
						 dg_constraint, int);
305
extern void init_dg_constraint_list(void);
2 7u83 306
 
307
/* CONSTRUCTS FOR DG_CONSTRAINT_LIST_OPTION */
7 7u83 308
extern dg_constraint_list_option yes_dg_constraint_list_option(dg_constraint_list);
309
extern dg_constraint_list_option no_dg_constraint_list_option;
310
extern void init_dg_constraint_list_option(void);
2 7u83 311
 
312
/* CONSTRUCTS FOR DG_DEFAULT */
7 7u83 313
extern dg_default f_make_dg_default(exp_option, dg_sourcepos_option);
314
extern dg_default f_dummy_dg_default;
315
extern void init_dg_default(void);
2 7u83 316
 
317
/* CONSTRUCTS FOR DG_DEFAULT_OPTION */
7 7u83 318
extern dg_default_option yes_dg_default_option(dg_default);
319
extern dg_default_option no_dg_default_option;
320
extern void init_dg_default_option(void);
2 7u83 321
 
322
/* CONSTRUCTS FOR DG_DIM */
7 7u83 323
extern dg_dim f_dg_dim_apply_token(token, bitstream);
324
extern dg_dim f_dg_tag_dim(dg_tag, dg_dim);
325
extern dg_dim f_dg_bounds_dim(dg_bound, dg_bound, dg_type);
326
extern dg_dim f_dg_count_dim(dg_bound, dg_bound, dg_type);
327
extern dg_dim f_dg_type_dim(dg_type, nat_option);
328
extern dg_dim f_dg_unspecified_dim;
329
extern dg_dim f_dummy_dg_dim;
330
extern void init_dg_dim(void);
2 7u83 331
 
332
/* CONSTRUCTS FOR DG_DIM_LIST */
7 7u83 333
extern dg_dim_list new_dg_dim_list(int);
334
extern dg_dim_list add_dg_dim_list(dg_dim_list, dg_dim, int);
335
extern void init_dg_dim_list(void);
2 7u83 336
 
337
/* CONSTRUCTS FOR DG_DIM_OPTION */
7 7u83 338
extern dg_dim_option yes_dg_dim_option(dg_dim);
339
extern dg_dim_option no_dg_dim_option;
340
extern void init_dg_dim_option(void);
2 7u83 341
 
342
/* CONSTRUCTS FOR DG_DISCRIM */
7 7u83 343
extern dg_discrim f_make_dg_discrim(exp, exp);
344
extern dg_discrim f_dummy_dg_discrim;
345
extern void init_dg_discrim(void);
2 7u83 346
 
347
/* CONSTRUCTS FOR DG_DISCRIM_LIST */
7 7u83 348
extern dg_discrim_list new_dg_discrim_list(int);
349
extern dg_discrim_list add_dg_discrim_list(dg_discrim_list, dg_discrim, int);
350
extern void init_dg_discrim_list(void);
2 7u83 351
 
352
/* CONSTRUCTS FOR DG_ENUM */
7 7u83 353
extern dg_enum f_dg_tag_enum(dg_tag, dg_enum);
354
extern dg_enum f_make_dg_enum(exp, dg_idname, dg_sourcepos);
355
extern dg_enum f_dg_char_enum(exp, nat, dg_sourcepos);
356
extern dg_enum f_dummy_dg_enum;
357
extern void init_dg_enum(void);
2 7u83 358
 
359
/* CONSTRUCTS FOR DG_ENUM_LIST */
7 7u83 360
extern dg_enum_list new_dg_enum_list(int);
361
extern dg_enum_list add_dg_enum_list(dg_enum_list, dg_enum, int);
362
extern void init_dg_enum_list(void);
2 7u83 363
 
364
/* CONSTRUCTS FOR DG_FILENAME */
7 7u83 365
extern dg_filename f_dg_filename_apply_token(token, bitstream);
366
extern dg_filename f_make_dg_filename(nat, string, string, string);
367
extern dg_filename f_dummy_dg_filename;
368
extern void init_dg_filename(void);
2 7u83 369
 
370
/* CONSTRUCTS FOR DG_FILENAME_OPTION */
7 7u83 371
extern dg_filename_option yes_dg_filename_option(dg_filename);
372
extern dg_filename_option no_dg_filename_option;
373
extern void init_dg_filename_option(void);
2 7u83 374
 
375
/* CONSTRUCTS FOR DG_IDNAME */
7 7u83 376
extern dg_idname f_dg_idname_apply_token(token, bitstream);
377
extern dg_idname f_dg_anonymous_idname(string_option);
378
extern dg_idname f_dg_artificial_idname(string_option);
379
extern dg_idname f_dg_external_idname(string);
380
extern dg_idname f_dg_instance_idname(dg_idname_option, dg_idname, dg_sourcepos,
381
				      dg_name_list);
382
extern dg_idname f_dg_sourcestring_idname(string);
383
extern dg_idname f_dummy_dg_idname;
384
extern void init_dg_idname(void);
2 7u83 385
 
386
/* CONSTRUCTS FOR DG_IDNAME_LIST */
7 7u83 387
extern dg_idname_list new_dg_idname_list(int);
388
extern dg_idname_list add_dg_idname_list(dg_idname_list, dg_idname, int);
389
extern void init_dg_idname_list(void);
2 7u83 390
 
391
/* CONSTRUCTS FOR DG_IDNAME_OPTION */
7 7u83 392
extern dg_idname_option yes_dg_idname_option(dg_idname);
393
extern dg_idname_option no_dg_idname_option;
394
extern void init_dg_idname_option(void);
2 7u83 395
 
396
/* CONSTRUCTS FOR DG_LIST */
7 7u83 397
extern dg_list new_dg_list(int);
398
extern dg_list add_dg_list(dg_list, dg, int);
399
extern void init_dg_list(void);
2 7u83 400
 
401
/* CONSTRUCTS FOR DG_MACRO */
7 7u83 402
extern dg_macro f_dg_function_macro(dg_sourcepos, dg_idname, dg_idname_list,
403
				    string);
404
extern dg_macro f_dg_include_macro(dg_sourcepos, dg_filename, dg_macro_list);
405
extern dg_macro f_dg_object_macro(dg_sourcepos, dg_idname, string);
406
extern dg_macro f_dg_undef_macro(dg_sourcepos, dg_idname);
407
extern dg_macro f_dummy_dg_macro;
408
extern void init_dg_macro(void);
2 7u83 409
 
410
/* CONSTRUCTS FOR DG_MACRO_LIST */
7 7u83 411
extern dg_macro_list new_dg_macro_list(int);
412
extern dg_macro_list add_dg_macro_list(dg_macro_list, dg_macro, int);
413
extern void init_dg_macro_list(void);
2 7u83 414
 
415
/* CONSTRUCTS FOR DG_NAME */
7 7u83 416
extern dg_name f_dg_name_apply_token(token, bitstream);
417
extern dg_name f_dg_tag_name(dg_tag, dg_name);
418
extern dg_name f_dg_constant_name(dg_name);
419
extern dg_name f_dg_entry_family_name(dg_name, dg_dim);
420
extern dg_name f_dg_entry_name(dg_idname, dg_sourcepos, dg_type,
421
			       dg_accessibility_option, dg_dim_option);
422
extern dg_name f_dg_inlined_name(dg_name, dg_tag);
423
extern dg_name f_dg_is_spec_name(dg_name, bool_option);
424
extern dg_name f_dg_module_name(dg_idname, dg_sourcepos, dg_namelist,
425
				exp_option, dg_tag_option);
426
extern dg_name f_dg_namespace_name(dg_idname, dg_sourcepos, dg_namelist);
427
extern dg_name f_dg_object_name(dg_idname, dg_sourcepos, dg_type, exp_option,
428
				dg_accessibility_option);
429
extern dg_name f_dg_proc_name(dg_idname, dg_sourcepos, dg_type, exp_option,
430
			      dg_accessibility_option, dg_virtuality_option,
431
			      bool, dg_type_list_option, dg_tag_option);
432
extern dg_name f_dg_program_name(dg_idname, dg_sourcepos, exp);
433
extern dg_name f_dg_rep_clause_name(dg_name, exp);
434
extern dg_name f_dg_spec_ref_name(dg_tag, dg_name);
435
extern dg_name f_dg_subunit_name(dg_tag, dg_name, nat, dg_accessibility_option);
436
extern dg_name f_dg_type_name(dg_idname_option, dg_sourcepos,
437
			      dg_accessibility_option, dg_type_option, bool,
438
			      bool_option, dg_constraint_list_option);
439
extern dg_name f_dg_visibility_name(dg_tag, nat, dg_idname_option,
440
				    dg_sourcepos_option,
441
				    dg_accessibility_option, dg_type_option);
442
extern dg_name f_dummy_dg_name;
443
extern void init_dg_name(void);
2 7u83 444
 
445
/* CONSTRUCTS FOR DG_NAME_LIST */
7 7u83 446
extern dg_name_list new_dg_name_list(int);
447
extern dg_name_list add_dg_name_list(dg_name_list, dg_name, int);
448
extern void init_dg_name_list(void);
2 7u83 449
 
450
/* CONSTRUCTS FOR DG_NAME_OPTION */
7 7u83 451
extern dg_name_option yes_dg_name_option(dg_name);
452
extern dg_name_option no_dg_name_option;
453
extern void init_dg_name_option(void);
2 7u83 454
 
455
/* CONSTRUCTS FOR DG_NAMELIST */
7 7u83 456
extern dg_namelist f_dg_tag_namelist(dg_tag, dg_namelist);
457
extern dg_namelist f_make_dg_namelist(dg_name_list);
458
extern dg_namelist f_dummy_dg_namelist;
459
extern void init_dg_namelist(void);
2 7u83 460
 
461
/* CONSTRUCTS FOR DG_PARAM */
7 7u83 462
extern dg_param f_dg_object_param(dg_idname_option, dg_sourcepos_option,
463
				  dg_param_mode_option, dg_type,
464
				  dg_default_option);
465
extern dg_param f_dg_type_param(dg_idname_option, dg_sourcepos_option,
466
				dg_param_list);
467
extern dg_param f_dummy_dg_param;
468
extern void init_dg_param(void);
2 7u83 469
 
470
/* CONSTRUCTS FOR DG_PARAM_LIST */
7 7u83 471
extern dg_param_list new_dg_param_list(int);
472
extern dg_param_list add_dg_param_list(dg_param_list, dg_param, int);
473
extern void init_dg_param_list(void);
2 7u83 474
 
475
/* CONSTRUCTS FOR DG_PARAM_MODE */
7 7u83 476
extern dg_param_mode f_dg_in_mode;
477
extern dg_param_mode f_dg_inout_mode;
478
extern dg_param_mode f_dg_out_mode;
479
extern dg_param_mode f_dummy_dg_param_mode;
480
extern void init_dg_param_mode(void);
2 7u83 481
 
482
/* CONSTRUCTS FOR DG_PARAM_MODE_OPTION */
7 7u83 483
extern dg_param_mode_option yes_dg_param_mode_option(dg_param_mode);
484
extern dg_param_mode_option no_dg_param_mode_option;
485
extern void init_dg_param_mode_option(void);
2 7u83 486
 
487
/* CONSTRUCTS FOR DG_QUALIFIER */
7 7u83 488
extern dg_qualifier f_dg_aliased_qualifier;
489
extern dg_qualifier f_dg_class_wide_qualifier;
490
extern dg_qualifier f_dg_const_qualifier;
491
extern dg_qualifier f_dg_limited_qualifier;
492
extern dg_qualifier f_dg_volatile_qualifier;
493
extern dg_qualifier f_dummy_dg_qualifier;
494
extern void init_dg_qualifier(void);
2 7u83 495
 
496
/* CONSTRUCTS FOR DG_SOURCEPOS */
7 7u83 497
extern dg_sourcepos f_dg_file_sourcepos(dg_filename);
498
extern dg_sourcepos f_dg_global_sourcepos;
499
extern dg_sourcepos f_dg_mark_sourcepos(dg_filename, nat, nat);
500
extern dg_sourcepos f_dg_null_sourcepos;
501
extern dg_sourcepos f_dg_span_sourcepos(dg_filename, nat, nat,
502
					dg_filename_option, nat, nat);
503
extern dg_sourcepos f_dummy_dg_sourcepos;
504
extern void init_dg_sourcepos(void);
2 7u83 505
 
506
/* CONSTRUCTS FOR DG_SOURCEPOS_OPTION */
7 7u83 507
extern dg_sourcepos_option yes_dg_sourcepos_option(dg_sourcepos);
508
extern dg_sourcepos_option no_dg_sourcepos_option;
509
extern void init_dg_sourcepos_option(void);
2 7u83 510
 
511
/* CONSTRUCTS FOR DG_TAG */
7 7u83 512
extern dg_tag f_make_dg_tag(tdfint);
513
extern dg_tag f_dummy_dg_tag;
514
extern void init_dg_tag(void);
2 7u83 515
 
516
/* CONSTRUCTS FOR DG_TAG_LIST */
7 7u83 517
extern dg_tag_list new_dg_tag_list(int);
518
extern dg_tag_list add_dg_tag_list(dg_tag_list, dg_tag, int);
519
extern void init_dg_tag_list(void);
2 7u83 520
 
521
/* CONSTRUCTS FOR DG_TAG_OPTION */
7 7u83 522
extern dg_tag_option yes_dg_tag_option(dg_tag);
523
extern dg_tag_option no_dg_tag_option;
524
extern void init_dg_tag_option(void);
2 7u83 525
 
526
/* CONSTRUCTS FOR DG_TYPE */
7 7u83 527
extern dg_type f_dg_type_apply_token(token, bitstream);
528
extern dg_type f_dg_tag_type(dg_tag, dg_type);
529
extern dg_type f_dg_address_type(dg_idname, shape);
530
extern dg_type f_dg_array_type(dg_type, exp, bool_option, dg_dim_list);
531
extern dg_type f_dg_bitfield_type(dg_type, bitfield_variety, shape);
532
extern dg_type f_dg_boolean_type(dg_idname, variety);
533
extern dg_type f_dg_char_type(dg_idname, variety);
534
extern dg_type f_dg_class_type(dg_class_base_list, dg_classmem_list,
535
			       dg_varpart_option, dg_tag_list, shape_option,
536
			       dg_tag_option, dg_tag_option, dg_idname_option,
537
			       dg_sourcepos_option, bool, dg_tag_option,
538
			       dg_tag_option, bool, bool_option);
539
extern dg_type f_dg_complex_float_type(dg_idname, floating_variety);
540
extern dg_type f_dg_enum_type(dg_enum_list, dg_idname_option,
541
			      dg_sourcepos_option, shape, bool);
542
extern dg_type f_dg_file_type(dg_type, shape);
543
extern dg_type f_dg_fixed_point_type(dg_type, exp, exp_option, exp_option);
544
extern dg_type f_dg_float_type(dg_idname, floating_variety);
545
extern dg_type f_dg_floating_digits_type(dg_type, exp);
546
extern dg_type f_dg_inlined_type(dg_type, dg_tag);
547
extern dg_type f_dg_integer_type(dg_idname, variety);
548
extern dg_type f_dg_is_spec_type(dg_type);
549
extern dg_type f_dg_modular_type(dg_type, exp);
550
extern dg_type f_dg_named_type(dg_tag);
551
extern dg_type f_dg_packed_type(dg_type, shape);
552
extern dg_type f_dg_pointer_type(dg_type, bool_option);
553
extern dg_type f_dg_proc_type(dg_param_list, dg_type, bool_option, nat_option,
554
			      nat_option, procprops_option);
555
extern dg_type f_dg_ptr_memdata_type(dg_tag, dg_type, shape, dg_tag_option);
556
extern dg_type f_dg_ptr_memfn_type(dg_tag, dg_type, shape, dg_tag_option);
557
extern dg_type f_dg_qualified_type(dg_qualifier, dg_type);
558
extern dg_type f_dg_reference_type(dg_type);
559
extern dg_type f_dg_set_type(dg_type, shape);
560
extern dg_type f_dg_spec_ref_type(dg_tag, dg_type);
561
extern dg_type f_dg_string_type(dg_tag, exp, exp);
562
extern dg_type f_dg_struct_type(dg_classmem_list, shape_option,
563
				dg_idname_option, dg_sourcepos_option,
564
				dg_varpart_option, bool, bool);
565
extern dg_type f_dg_subrange_type(dg_type, dg_bound, dg_bound);
566
extern dg_type f_dg_synchronous_type(dg_idname, dg_sourcepos, dg_name_list,
567
				     dg_tag, dg_classmem_list,
568
				     dg_varpart_option, shape_option, bool,
569
				     dg_tag_option);
570
extern dg_type f_dg_task_type(dg_idname, dg_sourcepos, dg_name_list, dg_tag,
571
			      dg_tag, dg_classmem_list, dg_varpart_option,
572
			      shape_option, bool, dg_tag_option);
573
extern dg_type f_dg_unknown_type(shape);
574
extern dg_type f_dg_void_type;
575
extern dg_type f_dummy_dg_type;
576
extern void init_dg_type(void);
2 7u83 577
 
578
/* CONSTRUCTS FOR DG_TYPE_LIST */
7 7u83 579
extern dg_type_list new_dg_type_list(int);
580
extern dg_type_list add_dg_type_list(dg_type_list, dg_type, int);
581
extern void init_dg_type_list(void);
2 7u83 582
 
583
/* CONSTRUCTS FOR DG_TYPE_LIST_OPTION */
7 7u83 584
extern dg_type_list_option yes_dg_type_list_option(dg_type_list);
585
extern dg_type_list_option no_dg_type_list_option;
586
extern void init_dg_type_list_option(void);
2 7u83 587
 
588
/* CONSTRUCTS FOR DG_TYPE_OPTION */
7 7u83 589
extern dg_type_option yes_dg_type_option(dg_type);
590
extern dg_type_option no_dg_type_option;
591
extern void init_dg_type_option(void);
2 7u83 592
 
593
/* CONSTRUCTS FOR DG_VARIANT */
7 7u83 594
extern dg_variant f_make_dg_variant(dg_discrim_list, dg_classmem_list);
595
extern dg_variant f_dummy_dg_variant;
596
extern void init_dg_variant(void);
2 7u83 597
 
598
/* CONSTRUCTS FOR DG_VARIANT_LIST */
7 7u83 599
extern dg_variant_list new_dg_variant_list(int);
600
extern dg_variant_list add_dg_variant_list(dg_variant_list, dg_variant, int);
601
extern void init_dg_variant_list(void);
2 7u83 602
 
603
/* CONSTRUCTS FOR DG_VARPART */
7 7u83 604
extern dg_varpart f_dg_discrim_varpart(dg_classmem, dg_variant_list);
605
extern dg_varpart f_dg_sibl_discrim_varpart(dg_tag, dg_variant_list);
606
extern dg_varpart f_dg_undiscrim_varpart(dg_type, dg_variant_list);
607
extern dg_varpart f_dummy_dg_varpart;
608
extern void init_dg_varpart(void);
2 7u83 609
 
610
/* CONSTRUCTS FOR DG_VARPART_OPTION */
7 7u83 611
extern dg_varpart_option yes_dg_varpart_option(dg_varpart);
612
extern dg_varpart_option no_dg_varpart_option;
613
extern void init_dg_varpart_option(void);
2 7u83 614
 
615
/* CONSTRUCTS FOR DG_VIRTUALITY */
7 7u83 616
extern dg_virtuality f_dg_abstract_virtuality;
617
extern dg_virtuality f_dg_virtual_virtuality;
618
extern dg_virtuality f_dummy_dg_virtuality;
619
extern void init_dg_virtuality(void);
2 7u83 620
 
621
/* CONSTRUCTS FOR DG_VIRTUALITY_OPTION */
7 7u83 622
extern dg_virtuality_option yes_dg_virtuality_option(dg_virtuality);
623
extern dg_virtuality_option no_dg_virtuality_option;
624
extern void init_dg_virtuality_option(void);
2 7u83 625
 
626
/* CONSTRUCTS FOR DIAG_DESCRIPTOR */
7 7u83 627
extern diag_descriptor f_diag_desc_id(tdfstring, sourcemark, exp, diag_type);
628
extern diag_descriptor f_diag_desc_struct(tdfstring, sourcemark, diag_type);
629
extern diag_descriptor f_diag_desc_typedef(tdfstring, sourcemark, diag_type);
630
extern diag_descriptor f_dummy_diag_descriptor;
631
extern void init_diag_descriptor(void);
2 7u83 632
 
633
/* CONSTRUCTS FOR DIAG_DESCRIPTOR_LIST */
7 7u83 634
extern diag_descriptor_list new_diag_descriptor_list(int);
635
extern diag_descriptor_list add_diag_descriptor_list(diag_descriptor_list,
636
						     diag_descriptor, int);
637
extern void init_diag_descriptor_list(void);
2 7u83 638
 
639
/* CONSTRUCTS FOR DIAG_FIELD */
7 7u83 640
extern diag_field f_make_diag_field(tdfstring, exp, diag_type);
641
extern diag_field f_dummy_diag_field;
642
extern void init_diag_field(void);
2 7u83 643
 
644
/* CONSTRUCTS FOR DIAG_FIELD_LIST */
7 7u83 645
extern diag_field_list new_diag_field_list(int);
646
extern diag_field_list add_diag_field_list(diag_field_list, diag_field, int);
647
extern void init_diag_field_list(void);
2 7u83 648
 
649
/* CONSTRUCTS FOR DIAG_TAG */
7 7u83 650
extern diag_tag f_make_diag_tag(tdfint);
651
extern diag_tag f_dummy_diag_tag;
652
extern void init_diag_tag(void);
2 7u83 653
 
654
/* CONSTRUCTS FOR DIAG_TAGDEF */
7 7u83 655
extern diag_tagdef f_make_diag_tagdef(tdfint, diag_type);
656
extern diag_tagdef f_dummy_diag_tagdef;
657
extern void init_diag_tagdef(void);
2 7u83 658
 
659
/* CONSTRUCTS FOR DIAG_TAGDEF_LIST */
7 7u83 660
extern diag_tagdef_list new_diag_tagdef_list(int);
661
extern diag_tagdef_list add_diag_tagdef_list(diag_tagdef_list, diag_tagdef,
662
					     int);
663
extern void init_diag_tagdef_list(void);
2 7u83 664
 
665
/* CONSTRUCTS FOR DIAG_TQ */
7 7u83 666
extern diag_tq f_add_diag_const(diag_tq);
667
extern diag_tq f_add_diag_volatile(diag_tq);
668
extern diag_tq f_diag_tq_null;
669
extern diag_tq f_dummy_diag_tq;
670
extern void init_diag_tq(void);
2 7u83 671
 
672
/* CONSTRUCTS FOR DIAG_TYPE */
7 7u83 673
extern diag_type f_diag_type_apply_token(token, bitstream);
674
extern diag_type f_diag_array(diag_type, exp, exp, exp, diag_type);
675
extern diag_type f_diag_bitfield(diag_type, nat);
676
extern diag_type f_diag_enum(diag_type, tdfstring, enum_values_list);
677
extern diag_type f_diag_floating_variety(floating_variety);
678
extern diag_type f_diag_loc(diag_type, diag_tq);
679
extern diag_type f_diag_proc(diag_type_list, bool, diag_type);
680
extern diag_type f_diag_ptr(diag_type, diag_tq);
681
extern diag_type f_diag_struct(shape, tdfstring, diag_field_list);
682
extern diag_type f_diag_type_null;
683
extern diag_type f_diag_union(shape, tdfstring, diag_field_list);
684
extern diag_type f_diag_variety(variety);
685
extern diag_type f_use_diag_tag(diag_tag);
686
extern diag_type f_dummy_diag_type;
687
extern void init_diag_type(void);
2 7u83 688
 
689
/* CONSTRUCTS FOR DIAG_TYPE_LIST */
7 7u83 690
extern diag_type_list new_diag_type_list(int);
691
extern diag_type_list add_diag_type_list(diag_type_list, diag_type, int);
692
extern void init_diag_type_list(void);
2 7u83 693
 
694
/* CONSTRUCTS FOR DIAG_TYPE_UNIT */
7 7u83 695
extern diag_type_unit f_build_diagtype_unit(tdfint, diag_tagdef_list);
696
extern diag_type_unit f_dummy_diag_type_unit;
697
extern void init_diag_type_unit(void);
2 7u83 698
 
699
/* CONSTRUCTS FOR DIAG_UNIT */
7 7u83 700
extern diag_unit f_build_diag_unit(tdfint, diag_descriptor_list);
701
extern diag_unit f_dummy_diag_unit;
702
extern void init_diag_unit(void);
2 7u83 703
 
704
/* CONSTRUCTS FOR ENUM_VALUES */
7 7u83 705
extern enum_values f_make_enum_values(exp, tdfstring);
706
extern enum_values f_dummy_enum_values;
707
extern void init_enum_values(void);
2 7u83 708
 
709
/* CONSTRUCTS FOR ENUM_VALUES_LIST */
7 7u83 710
extern enum_values_list new_enum_values_list(int);
711
extern enum_values_list add_enum_values_list(enum_values_list, enum_values,
712
					     int);
713
extern void init_enum_values_list(void);
2 7u83 714
 
715
/* CONSTRUCTS FOR ERROR_CODE */
7 7u83 716
extern error_code f_nil_access;
717
extern error_code f_overflow;
718
extern error_code f_stack_overflow;
719
extern error_code f_dummy_error_code;
720
extern void init_error_code(void);
2 7u83 721
 
722
/* CONSTRUCTS FOR ERROR_CODE_LIST */
7 7u83 723
extern error_code_list new_error_code_list(int);
724
extern error_code_list add_error_code_list(error_code_list, error_code, int);
725
extern void init_error_code_list(void);
2 7u83 726
 
727
/* CONSTRUCTS FOR ERROR_TREATMENT */
7 7u83 728
extern error_treatment f_errt_apply_token(token, bitstream);
729
extern error_treatment f_errt_cond(exp, bitstream, bitstream);
730
extern error_treatment f_continue;
731
extern error_treatment f_error_jump(label);
732
extern error_treatment f_trap(error_code_list);
733
extern error_treatment f_wrap;
734
extern error_treatment f_impossible;
735
extern error_treatment f_dummy_error_treatment;
736
extern void init_error_treatment(void);
2 7u83 737
 
738
/* CONSTRUCTS FOR EXP */
7 7u83 739
extern exp f_exp_apply_token(token, bitstream);
740
extern exp f_exp_cond(exp, bitstream, bitstream);
741
extern exp f_abs(error_treatment, exp);
742
extern exp f_add_to_ptr(exp, exp);
743
extern exp f_and(exp, exp);
744
extern exp f_apply_proc(shape, exp, exp_list, exp_option);
745
extern void start_apply_general_proc(shape, procprops_option, exp, otagexp_list,
746
				     callees);
747
extern exp f_apply_general_proc(shape, procprops_option, exp, otagexp_list,
748
				callees, exp);
749
extern exp f_assign(exp, exp);
750
extern exp f_assign_with_mode(transfer_mode, exp, exp);
751
extern exp f_bitfield_assign(exp, exp, exp);
752
extern exp f_bitfield_assign_with_mode(transfer_mode, exp, exp, exp);
753
extern exp f_bitfield_contents(bitfield_variety, exp, exp);
754
extern exp f_bitfield_contents_with_mode(transfer_mode, bitfield_variety, exp,
755
					 exp);
756
extern exp f_case(bool, exp, caselim_list);
757
extern exp f_change_bitfield_to_int(variety, exp);
758
extern exp f_change_floating_variety(error_treatment, floating_variety, exp);
759
extern exp f_change_variety(error_treatment, variety, exp);
760
extern exp f_change_int_to_bitfield(bitfield_variety, exp);
761
extern exp f_complex_conjugate(exp);
762
extern exp f_component(shape, exp, exp);
763
extern exp f_concat_nof(exp, exp);
764
extern void start_conditional(label);
765
extern exp f_conditional(label, exp, exp);
766
extern exp f_contents(shape, exp);
767
extern exp f_contents_with_mode(transfer_mode, shape, exp);
768
extern exp f_current_env(void);
769
extern exp f_div0(error_treatment, error_treatment, exp, exp);
770
extern exp f_div1(error_treatment, error_treatment, exp, exp);
771
extern exp f_div2(error_treatment, error_treatment, exp, exp);
772
extern exp f_env_offset(alignment, alignment, tag);
773
extern exp f_env_size(tag);
774
extern exp f_fail_installer(string);
775
extern exp f_float_int(error_treatment, floating_variety, exp);
776
extern exp f_floating_abs(error_treatment, exp);
777
extern exp f_floating_div(error_treatment, exp, exp);
778
extern exp f_floating_minus(error_treatment, exp, exp);
779
extern exp f_floating_maximum(error_treatment, exp, exp);
780
extern exp f_floating_minimum(error_treatment, exp, exp);
781
extern exp f_floating_mult(error_treatment, exp_list);
782
extern exp f_floating_negate(error_treatment, exp);
783
extern exp f_floating_plus(error_treatment, exp_list);
784
extern exp f_floating_power(error_treatment, exp, exp);
785
extern exp f_floating_test(nat_option, error_treatment, ntest, label, exp, exp);
786
extern exp f_goto(label);
787
extern exp f_goto_local_lv(exp);
788
extern void start_identify(access_option, tag, exp);
789
extern exp f_identify(access_option, tag, exp, exp);
790
extern exp f_ignorable(exp);
791
extern exp f_imaginary_part(exp);
792
extern void start_initial_value(void);
793
extern exp f_initial_value(exp);
794
extern exp f_integer_test(nat_option, ntest, label, exp, exp);
795
extern void start_labelled(label_list);
796
extern exp f_labelled(label_list, exp, exp_list);
797
extern exp f_last_local(exp);
798
extern exp f_local_alloc(exp);
799
extern exp f_local_alloc_check(exp);
800
extern exp f_local_free(exp, exp);
801
extern exp f_local_free_all(void);
802
extern exp f_long_jump(exp, exp);
803
extern exp f_make_complex(floating_variety, exp, exp);
804
extern exp f_make_compound(exp, exp_list);
805
extern exp f_make_floating(floating_variety, rounding_mode, bool, string, nat,
806
			   signed_nat);
807
extern void start_make_general_proc(shape, procprops_option, tagshacc_list,
808
				    tagshacc_list);
809
extern exp f_make_general_proc(shape, procprops_option, tagshacc_list,
810
			       tagshacc_list, exp);
811
extern exp f_make_int(variety, signed_nat);
812
extern exp f_make_local_lv(label);
813
extern exp f_make_nof(exp_list);
814
extern exp f_make_nof_int(variety, string);
815
extern exp f_make_null_local_lv(void);
816
extern exp f_make_null_proc(void);
817
extern exp f_make_null_ptr(alignment);
818
extern void start_make_proc(shape, tagshacc_list, tagacc_option);
819
extern exp f_make_proc(shape, tagshacc_list, tagacc_option, exp);
820
extern exp f_make_stack_limit(exp, exp, exp);
821
extern exp f_make_top(void);
822
extern exp f_make_value(shape);
823
extern exp f_maximum(exp, exp);
824
extern exp f_minimum(exp, exp);
825
extern exp f_minus(error_treatment, exp, exp);
826
extern exp f_move_some(transfer_mode, exp, exp, exp);
827
extern exp f_mult(error_treatment, exp, exp);
828
extern exp f_n_copies(nat, exp);
829
extern exp f_negate(error_treatment, exp);
830
extern exp f_not(exp);
831
extern exp f_obtain_tag(tag);
832
extern exp f_offset_add(exp, exp);
833
extern exp f_offset_div(variety, exp, exp);
834
extern exp f_offset_div_by_int(exp, exp);
835
extern exp f_offset_max(exp, exp);
836
extern exp f_offset_mult(exp, exp);
837
extern exp f_offset_negate(exp);
838
extern exp f_offset_pad(alignment, exp);
839
extern exp f_offset_subtract(exp, exp);
840
extern exp f_offset_test(nat_option, ntest, label, exp, exp);
841
extern exp f_offset_zero(alignment);
842
extern exp f_or(exp, exp);
843
extern exp f_plus(error_treatment, exp, exp);
844
extern exp f_pointer_test(nat_option, ntest, label, exp, exp);
845
extern exp f_power(error_treatment, exp, exp);
846
extern exp f_proc_test(nat_option, ntest, label, exp, exp);
847
extern exp f_profile(nat);
848
extern exp f_real_part(exp);
849
extern exp f_rem0(error_treatment, error_treatment, exp, exp);
850
extern exp f_rem1(error_treatment, error_treatment, exp, exp);
851
extern exp f_rem2(error_treatment, error_treatment, exp, exp);
852
extern void start_repeat(label);
853
extern exp f_repeat(label, exp, exp);
854
extern exp f_return(exp);
855
extern exp f_return_to_label(exp);
856
extern exp f_round_with_mode(error_treatment, rounding_mode, variety, exp);
857
extern exp f_rotate_left(exp, exp);
858
extern exp f_rotate_right(exp, exp);
859
extern exp f_sequence(exp_list, exp);
860
extern exp f_set_stack_limit(exp);
861
extern exp f_shape_offset(shape);
862
extern exp f_shift_left(error_treatment, exp, exp);
863
extern exp f_shift_right(exp, exp);
864
extern exp f_subtract_ptrs(exp, exp);
865
extern exp f_tail_call(procprops_option, exp, callees);
866
extern exp f_untidy_return(exp);
867
extern void start_variable(access_option, tag, exp);
868
extern exp f_variable(access_option, tag, exp, exp);
869
extern exp f_xor(exp, exp);
870
extern exp f_dummy_exp;
871
extern void init_exp(void);
2 7u83 872
 
873
/* CONSTRUCTS FOR EXP_LIST */
7 7u83 874
extern exp_list new_exp_list(int);
875
extern exp_list add_exp_list(exp_list, exp, int);
876
extern void init_exp_list(void);
2 7u83 877
 
878
/* CONSTRUCTS FOR EXP_OPTION */
7 7u83 879
extern exp_option yes_exp_option(exp);
880
extern exp_option no_exp_option;
881
extern void init_exp_option(void);
2 7u83 882
 
883
/* CONSTRUCTS FOR EXTERN_LINK */
7 7u83 884
extern extern_link f_make_extern_link(linkextern_list);
885
extern extern_link f_dummy_extern_link;
886
extern void init_extern_link(void);
2 7u83 887
 
888
/* CONSTRUCTS FOR EXTERN_LINK_LIST */
7 7u83 889
extern extern_link_list new_extern_link_list(int);
890
extern extern_link_list add_extern_link_list(extern_link_list, extern_link,
891
					     int);
892
extern void init_extern_link_list(void);
2 7u83 893
 
894
/* CONSTRUCTS FOR EXTERNAL */
7 7u83 895
extern external f_string_extern(tdfident);
896
extern external f_unique_extern(unique);
897
extern external f_chain_extern(tdfident, tdfint);
898
extern external f_dummy_external;
899
extern void init_external(void);
2 7u83 900
 
901
/* CONSTRUCTS FOR FILENAME */
7 7u83 902
extern filename f_filename_apply_token(token, bitstream);
903
extern filename f_make_filename(nat, tdfstring, tdfstring);
904
extern filename f_dummy_filename;
905
extern void init_filename(void);
2 7u83 906
 
907
/* CONSTRUCTS FOR FLOATING_VARIETY */
7 7u83 908
extern floating_variety f_flvar_apply_token(token, bitstream);
909
extern floating_variety f_flvar_cond(exp, bitstream, bitstream);
910
extern floating_variety f_flvar_parms(nat, nat, nat, nat);
911
extern floating_variety f_complex_parms(nat, nat, nat, nat);
912
extern floating_variety f_float_of_complex(shape);
913
extern floating_variety f_complex_of_float(shape);
914
extern floating_variety f_dummy_floating_variety;
915
extern void init_floating_variety(void);
2 7u83 916
 
917
/* CONSTRUCTS FOR GROUP */
7 7u83 918
extern group f_make_group(unit_list);
919
extern group f_dummy_group;
920
extern void init_group(void);
2 7u83 921
 
922
/* CONSTRUCTS FOR GROUP_LIST */
7 7u83 923
extern group_list new_group_list(int);
924
extern group_list add_group_list(group_list, group, int);
925
extern void init_group_list(void);
2 7u83 926
 
927
/* CONSTRUCTS FOR LABEL */
7 7u83 928
extern label f_label_apply_token(token, bitstream);
929
extern label f_make_label(tdfint);
930
extern label f_dummy_label;
931
extern void init_label(void);
2 7u83 932
 
933
/* CONSTRUCTS FOR LABEL_LIST */
7 7u83 934
extern label_list new_label_list(int);
935
extern label_list add_label_list(label_list, label, int);
936
extern void init_label_list(void);
2 7u83 937
 
938
/* CONSTRUCTS FOR LINK */
7 7u83 939
extern link f_make_link(tdfint, tdfint);
940
extern link f_dummy_link;
941
extern void init_link(void);
2 7u83 942
 
943
/* CONSTRUCTS FOR LINK_LIST */
7 7u83 944
extern link_list new_link_list(int);
945
extern link_list add_link_list(link_list, link, int);
946
extern void init_link_list(void);
2 7u83 947
 
948
/* CONSTRUCTS FOR LINKEXTERN */
7 7u83 949
extern linkextern f_make_linkextern(tdfint, external);
950
extern linkextern f_dummy_linkextern;
951
extern void init_linkextern(void);
2 7u83 952
 
953
/* CONSTRUCTS FOR LINKEXTERN_LIST */
7 7u83 954
extern linkextern_list new_linkextern_list(int);
955
extern linkextern_list add_linkextern_list(linkextern_list, linkextern, int);
956
extern void init_linkextern_list(void);
2 7u83 957
 
958
/* CONSTRUCTS FOR LINKINFO */
7 7u83 959
extern linkinfo f_static_name_def(exp, tdfstring);
960
extern linkinfo f_make_comment(tdfstring);
961
extern linkinfo f_make_weak_defn(exp, exp);
962
extern linkinfo f_make_weak_symbol(tdfstring, exp);
963
extern linkinfo f_dummy_linkinfo;
964
extern void init_linkinfo(void);
2 7u83 965
 
966
/* CONSTRUCTS FOR LINKINFO_LIST */
7 7u83 967
extern linkinfo_list new_linkinfo_list(int);
968
extern linkinfo_list add_linkinfo_list(linkinfo_list, linkinfo, int);
969
extern void init_linkinfo_list(void);
2 7u83 970
 
971
/* CONSTRUCTS FOR LINKINFO_PROPS */
7 7u83 972
extern linkinfo_props f_make_linkinfos(tdfint, linkinfo_list);
973
extern linkinfo_props f_dummy_linkinfo_props;
974
extern void init_linkinfo_props(void);
2 7u83 975
 
976
/* CONSTRUCTS FOR LINKS */
7 7u83 977
extern links f_make_links(link_list);
978
extern links f_dummy_links;
979
extern void init_links(void);
2 7u83 980
 
981
/* CONSTRUCTS FOR LINKS_LIST */
7 7u83 982
extern links_list new_links_list(int);
983
extern links_list add_links_list(links_list, links, int);
984
extern void init_links_list(void);
2 7u83 985
 
986
/* CONSTRUCTS FOR NAT */
7 7u83 987
extern nat f_nat_apply_token(token, bitstream);
988
extern nat f_nat_cond(exp, bitstream, bitstream);
989
extern nat f_computed_nat(exp);
990
extern nat f_error_val(error_code);
991
extern nat f_make_nat(tdfint);
992
extern nat f_dummy_nat;
993
extern void init_nat(void);
2 7u83 994
 
995
/* CONSTRUCTS FOR NAT_OPTION */
7 7u83 996
extern nat_option yes_nat_option(nat);
997
extern nat_option no_nat_option;
998
extern void init_nat_option(void);
2 7u83 999
 
1000
/* CONSTRUCTS FOR NTEST */
7 7u83 1001
extern ntest f_ntest_apply_token(token, bitstream);
1002
extern ntest f_ntest_cond(exp, bitstream, bitstream);
1003
extern ntest f_equal;
1004
extern ntest f_greater_than;
1005
extern ntest f_greater_than_or_equal;
1006
extern ntest f_less_than;
1007
extern ntest f_less_than_or_equal;
1008
extern ntest f_not_equal;
1009
extern ntest f_not_greater_than;
1010
extern ntest f_not_greater_than_or_equal;
1011
extern ntest f_not_less_than;
1012
extern ntest f_not_less_than_or_equal;
1013
extern ntest f_less_than_or_greater_than;
1014
extern ntest f_not_less_than_and_not_greater_than;
1015
extern ntest f_comparable;
1016
extern ntest f_not_comparable;
1017
extern ntest f_dummy_ntest;
1018
extern void init_ntest(void);
2 7u83 1019
 
1020
/* CONSTRUCTS FOR OTAGEXP */
7 7u83 1021
extern otagexp f_make_otagexp(tag_option, exp);
1022
extern otagexp f_dummy_otagexp;
1023
extern void init_otagexp(void);
2 7u83 1024
 
1025
/* CONSTRUCTS FOR OTAGEXP_LIST */
7 7u83 1026
extern otagexp_list new_otagexp_list(int);
1027
extern otagexp_list add_otagexp_list(otagexp_list, otagexp, int);
1028
extern void init_otagexp_list(void);
2 7u83 1029
 
1030
/* CONSTRUCTS FOR PROCPROPS */
7 7u83 1031
extern procprops f_procprops_apply_token(token, bitstream);
1032
extern procprops f_procprops_cond(exp, bitstream, bitstream);
1033
extern procprops f_add_procprops(procprops, procprops);
1034
extern procprops f_check_stack;
1035
extern procprops f_inline;
1036
extern procprops f_no_long_jump_dest;
1037
extern procprops f_untidy;
1038
extern procprops f_var_callees;
1039
extern procprops f_var_callers;
1040
extern procprops f_dummy_procprops;
1041
extern void init_procprops(void);
2 7u83 1042
 
1043
/* CONSTRUCTS FOR PROCPROPS_OPTION */
7 7u83 1044
extern procprops_option yes_procprops_option(procprops);
1045
extern procprops_option no_procprops_option;
1046
extern void init_procprops_option(void);
2 7u83 1047
 
1048
/* CONSTRUCTS FOR ROUNDING_MODE */
7 7u83 1049
extern rounding_mode f_rounding_mode_apply_token(token, bitstream);
1050
extern rounding_mode f_rounding_mode_cond(exp, bitstream, bitstream);
1051
extern rounding_mode f_round_as_state;
1052
extern rounding_mode f_to_nearest;
1053
extern rounding_mode f_toward_larger;
1054
extern rounding_mode f_toward_smaller;
1055
extern rounding_mode f_toward_zero;
1056
extern rounding_mode f_dummy_rounding_mode;
1057
extern void init_rounding_mode(void);
2 7u83 1058
 
1059
/* CONSTRUCTS FOR SHAPE */
7 7u83 1060
extern shape f_shape_apply_token(token, bitstream);
1061
extern shape f_shape_cond(exp, bitstream, bitstream);
1062
extern shape f_bitfield(bitfield_variety);
1063
extern shape f_bottom;
1064
extern shape f_compound(exp);
1065
extern shape f_floating(floating_variety);
1066
extern shape f_integer(variety);
1067
extern shape f_nof(nat, shape);
1068
extern shape f_offset(alignment, alignment);
1069
extern shape f_pointer(alignment);
1070
extern shape f_proc;
1071
extern shape f_top;
1072
extern shape f_dummy_shape;
1073
extern void init_shape(void);
2 7u83 1074
 
1075
/* CONSTRUCTS FOR SHAPE_OPTION */
7 7u83 1076
extern shape_option yes_shape_option(shape);
1077
extern shape_option no_shape_option;
1078
extern void init_shape_option(void);
2 7u83 1079
 
1080
/* CONSTRUCTS FOR SIGNED_NAT */
7 7u83 1081
extern signed_nat f_signed_nat_apply_token(token, bitstream);
1082
extern signed_nat f_signed_nat_cond(exp, bitstream, bitstream);
1083
extern signed_nat f_computed_signed_nat(exp);
1084
extern signed_nat f_make_signed_nat(tdfbool, tdfint);
1085
extern signed_nat f_snat_from_nat(bool, nat);
1086
extern signed_nat f_dummy_signed_nat;
1087
extern void init_signed_nat(void);
2 7u83 1088
 
1089
/* CONSTRUCTS FOR SORTNAME */
7 7u83 1090
extern sortname f_access;
1091
extern sortname f_al_tag;
1092
extern sortname f_alignment_sort;
1093
extern sortname f_bitfield_variety;
1094
extern sortname f_bool;
1095
extern sortname f_error_treatment;
1096
extern sortname f_exp;
1097
extern sortname f_floating_variety;
1098
extern sortname f_foreign_sort(string);
1099
extern sortname f_label;
1100
extern sortname f_nat;
1101
extern sortname f_ntest;
1102
extern sortname f_procprops;
1103
extern sortname f_rounding_mode;
1104
extern sortname f_shape;
1105
extern sortname f_signed_nat;
1106
extern sortname f_string;
1107
extern sortname f_tag;
1108
extern sortname f_transfer_mode;
1109
extern sortname f_token(sortname, sortname_list);
1110
extern sortname f_variety;
1111
extern sortname f_dummy_sortname;
1112
extern void init_sortname(void);
2 7u83 1113
 
1114
/* CONSTRUCTS FOR SORTNAME_LIST */
7 7u83 1115
extern sortname_list new_sortname_list(int);
1116
extern sortname_list add_sortname_list(sortname_list, sortname, int);
1117
extern void init_sortname_list(void);
2 7u83 1118
 
1119
/* CONSTRUCTS FOR SOURCEMARK */
7 7u83 1120
extern sourcemark f_make_sourcemark(filename, nat, nat);
1121
extern sourcemark f_dummy_sourcemark;
1122
extern void init_sourcemark(void);
2 7u83 1123
 
1124
/* CONSTRUCTS FOR STRING */
7 7u83 1125
extern string f_string_apply_token(token, bitstream);
1126
extern string f_string_cond(exp, bitstream, bitstream);
1127
extern string f_concat_string(string, string);
1128
extern string f_make_string(tdfstring);
1129
extern string f_dummy_string;
1130
extern void init_string(void);
2 7u83 1131
 
1132
/* CONSTRUCTS FOR STRING_LIST */
7 7u83 1133
extern string_list new_string_list(int);
1134
extern string_list add_string_list(string_list, string, int);
1135
extern void init_string_list(void);
2 7u83 1136
 
1137
/* CONSTRUCTS FOR STRING_OPTION */
7 7u83 1138
extern string_option yes_string_option(string);
1139
extern string_option no_string_option;
1140
extern void init_string_option(void);
2 7u83 1141
 
1142
/* CONSTRUCTS FOR TAG */
7 7u83 1143
extern tag f_tag_apply_token(token, bitstream);
1144
extern tag f_make_tag(tdfint);
1145
extern tag f_dummy_tag;
1146
extern void init_tag(void);
2 7u83 1147
 
1148
/* CONSTRUCTS FOR TAG_OPTION */
7 7u83 1149
extern tag_option yes_tag_option(tag);
1150
extern tag_option no_tag_option;
1151
extern void init_tag_option(void);
2 7u83 1152
 
1153
/* CONSTRUCTS FOR TAGACC */
7 7u83 1154
extern tagacc f_make_tagacc(tag, access_option);
1155
extern tagacc f_dummy_tagacc;
1156
extern void init_tagacc(void);
2 7u83 1157
 
1158
/* CONSTRUCTS FOR TAGACC_OPTION */
7 7u83 1159
extern tagacc_option yes_tagacc_option(tagacc);
1160
extern tagacc_option no_tagacc_option;
1161
extern void init_tagacc_option(void);
2 7u83 1162
 
1163
/* CONSTRUCTS FOR TAGDEC */
7 7u83 1164
extern tagdec f_make_id_tagdec(tdfint, access_option, string_option, shape);
1165
extern tagdec f_make_var_tagdec(tdfint, access_option, string_option, shape);
1166
extern tagdec f_common_tagdec(tdfint, access_option, string_option, shape);
1167
extern tagdec f_dummy_tagdec;
1168
extern void init_tagdec(void);
2 7u83 1169
 
1170
/* CONSTRUCTS FOR TAGDEC_LIST */
7 7u83 1171
extern tagdec_list new_tagdec_list(int);
1172
extern tagdec_list add_tagdec_list(tagdec_list, tagdec, int);
1173
extern void init_tagdec_list(void);
2 7u83 1174
 
1175
/* CONSTRUCTS FOR TAGDEC_PROPS */
7 7u83 1176
extern tagdec_props f_make_tagdecs(tdfint, tagdec_list);
1177
extern tagdec_props f_dummy_tagdec_props;
1178
extern void init_tagdec_props(void);
2 7u83 1179
 
1180
/* CONSTRUCTS FOR TAGDEF */
7 7u83 1181
extern void start_make_id_tagdef(tdfint);
1182
extern tagdef f_make_id_tagdef(tdfint, string_option, exp);
1183
extern void start_make_var_tagdef(tdfint);
1184
extern tagdef f_make_var_tagdef(tdfint, access_option, string_option, exp);
1185
extern void start_common_tagdef(tdfint);
1186
extern tagdef f_common_tagdef(tdfint, access_option, string_option, exp);
1187
extern tagdef f_dummy_tagdef;
1188
extern void init_tagdef(void);
2 7u83 1189
 
1190
/* CONSTRUCTS FOR TAGDEF_LIST */
7 7u83 1191
extern tagdef_list new_tagdef_list(int);
1192
extern tagdef_list add_tagdef_list(tagdef_list, tagdef, int);
1193
extern void init_tagdef_list(void);
2 7u83 1194
 
1195
/* CONSTRUCTS FOR TAGDEF_PROPS */
7 7u83 1196
extern tagdef_props f_make_tagdefs(tdfint, tagdef_list);
1197
extern tagdef_props f_dummy_tagdef_props;
1198
extern void init_tagdef_props(void);
2 7u83 1199
 
1200
/* CONSTRUCTS FOR TAGSHACC */
7 7u83 1201
extern tagshacc f_make_tagshacc(shape, access_option, tag);
1202
extern tagshacc f_dummy_tagshacc;
1203
extern void init_tagshacc(void);
2 7u83 1204
 
1205
/* CONSTRUCTS FOR TAGSHACC_LIST */
7 7u83 1206
extern tagshacc_list new_tagshacc_list(int);
1207
extern tagshacc_list add_tagshacc_list(tagshacc_list, tagshacc, int);
1208
extern void init_tagshacc_list(void);
2 7u83 1209
 
1210
/* CONSTRUCTS FOR TDFIDENT_LIST */
7 7u83 1211
extern tdfident_list new_tdfident_list(int);
1212
extern tdfident_list add_tdfident_list(tdfident_list, tdfident, int);
1213
extern void init_tdfident_list(void);
2 7u83 1214
 
1215
/* CONSTRUCTS FOR TDFINT_LIST */
7 7u83 1216
extern tdfint_list new_tdfint_list(int);
1217
extern tdfint_list add_tdfint_list(tdfint_list, tdfint, int);
1218
extern void init_tdfint_list(void);
2 7u83 1219
 
1220
/* CONSTRUCTS FOR TOKDEC */
7 7u83 1221
extern tokdec f_make_tokdec(tdfint, string_option, sortname);
1222
extern tokdec f_dummy_tokdec;
1223
extern void init_tokdec(void);
2 7u83 1224
 
1225
/* CONSTRUCTS FOR TOKDEC_LIST */
7 7u83 1226
extern tokdec_list new_tokdec_list(int);
1227
extern tokdec_list add_tokdec_list(tokdec_list, tokdec, int);
1228
extern void init_tokdec_list(void);
2 7u83 1229
 
1230
/* CONSTRUCTS FOR TOKDEC_PROPS */
7 7u83 1231
extern tokdec_props f_make_tokdecs(tokdec_list);
1232
extern tokdec_props f_dummy_tokdec_props;
1233
extern void init_tokdec_props(void);
2 7u83 1234
 
1235
/* CONSTRUCTS FOR TOKDEF */
7 7u83 1236
extern tokdef f_make_tokdef(tdfint, string_option, bitstream);
1237
extern tokdef f_dummy_tokdef;
1238
extern void init_tokdef(void);
2 7u83 1239
 
1240
/* CONSTRUCTS FOR TOKDEF_LIST */
7 7u83 1241
extern tokdef_list new_tokdef_list(int);
1242
extern tokdef_list add_tokdef_list(tokdef_list, tokdef, int);
1243
extern void init_tokdef_list(void);
2 7u83 1244
 
1245
/* CONSTRUCTS FOR TOKDEF_PROPS */
7 7u83 1246
extern tokdef_props f_make_tokdefs(tdfint, tokdef_list);
1247
extern tokdef_props f_dummy_tokdef_props;
1248
extern void init_tokdef_props(void);
2 7u83 1249
 
1250
/* CONSTRUCTS FOR TOKEN */
7 7u83 1251
extern token f_token_apply_token(token, bitstream);
1252
extern token f_make_tok(tdfint);
1253
extern token f_use_tokdef(bitstream);
1254
extern token f_dummy_token;
1255
extern void init_token(void);
2 7u83 1256
 
1257
/* CONSTRUCTS FOR TOKEN_DEFN */
7 7u83 1258
extern token_defn f_token_definition(sortname, tokformals_list);
1259
extern token_defn f_dummy_token_defn;
1260
extern void init_token_defn(void);
2 7u83 1261
 
1262
/* CONSTRUCTS FOR TOKEN_OPTION */
7 7u83 1263
extern token_option yes_token_option(token);
1264
extern token_option no_token_option;
1265
extern void init_token_option(void);
2 7u83 1266
 
1267
/* CONSTRUCTS FOR TOKFORMALS */
7 7u83 1268
extern tokformals f_make_tokformals(sortname, tdfint);
1269
extern tokformals f_dummy_tokformals;
1270
extern void init_tokformals(void);
2 7u83 1271
 
1272
/* CONSTRUCTS FOR TOKFORMALS_LIST */
7 7u83 1273
extern tokformals_list new_tokformals_list(int);
1274
extern tokformals_list add_tokformals_list(tokformals_list, tokformals, int);
1275
extern void init_tokformals_list(void);
2 7u83 1276
 
1277
/* CONSTRUCTS FOR TRANSFER_MODE */
7 7u83 1278
extern transfer_mode f_transfer_mode_apply_token(token, bitstream);
1279
extern transfer_mode f_transfer_mode_cond(exp, bitstream, bitstream);
1280
extern transfer_mode f_add_modes(transfer_mode, transfer_mode);
1281
extern transfer_mode f_overlap;
1282
extern transfer_mode f_standard_transfer_mode;
1283
extern transfer_mode f_trap_on_nil;
1284
extern transfer_mode f_volatile;
1285
extern transfer_mode f_complete;
1286
extern transfer_mode f_dummy_transfer_mode;
1287
extern void init_transfer_mode(void);
2 7u83 1288
 
1289
/* CONSTRUCTS FOR UNIQUE */
7 7u83 1290
extern unique f_make_unique(tdfident_list);
1291
extern unique f_dummy_unique;
1292
extern void init_unique(void);
2 7u83 1293
 
1294
/* CONSTRUCTS FOR UNIT */
7 7u83 1295
extern void start_make_unit(tdfint_list);
1296
extern unit f_make_unit(tdfint_list, links_list, bytestream);
1297
extern unit f_dummy_unit;
1298
extern void init_unit(void);
2 7u83 1299
 
1300
/* CONSTRUCTS FOR UNIT_LIST */
7 7u83 1301
extern unit_list new_unit_list(int);
1302
extern unit_list add_unit_list(unit_list, unit, int);
1303
extern void init_unit_list(void);
2 7u83 1304
 
1305
/* CONSTRUCTS FOR VARIETY */
7 7u83 1306
extern variety f_var_apply_token(token, bitstream);
1307
extern variety f_var_cond(exp, bitstream, bitstream);
1308
extern variety f_var_limits(signed_nat, signed_nat);
1309
extern variety f_var_width(bool, nat);
1310
extern variety f_dummy_variety;
1311
extern void init_variety(void);
2 7u83 1312
 
1313
/* CONSTRUCTS FOR VERSION */
7 7u83 1314
extern version f_make_version(tdfint, tdfint);
1315
extern version f_user_info(string);
1316
extern version f_dummy_version;
1317
extern void init_version(void);
2 7u83 1318
 
1319
/* CONSTRUCTS FOR VERSION_LIST */
7 7u83 1320
extern version_list new_version_list(int);
1321
extern version_list add_version_list(version_list, version, int);
1322
extern void init_version_list(void);
2 7u83 1323
 
1324
/* CONSTRUCTS FOR VERSION_PROPS */
7 7u83 1325
extern version_props f_make_versions(version_list);
1326
extern version_props f_dummy_version_props;
1327
extern void init_version_props(void);
2 7u83 1328
 
1329
 
1330
#endif