/* * Copyright (c) 2002-2004, The Tendra Project * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice unmodified, this list of conditions, and the following * disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * * Crown Copyright (c) 1997 * * This TenDRA(r) Computer Program is subject to Copyright * owned by the United Kingdom Secretary of State for Defence * acting through the Defence Evaluation and Research Agency * (DERA). It is made available to Recipients with a * royalty-free licence for its use, reproduction, transfer * to other parties and amendment for any purpose not excluding * product development provided that any such use et cetera * shall be deemed to be acceptance of the following conditions:- * * (1) Its Recipients shall ensure that this Notice is * reproduced upon any copies or amended versions of it; * * (2) Any amended version of it shall be clearly marked to * show both the nature of and the organisation responsible * for the relevant amendment or amendments; * * (3) Its onward transfer from a recipient to another * party shall be deemed to be that party's acceptance of * these conditions; * * (4) DERA gives no warranty or assurance as to its * quality or suitability for any purpose and DERA accepts * no liability whatsoever in relation to any use to which * it may be put. * * $TenDRA: tendra/src/tools/tnc/templ/tdf.h-tdf,v 1.4 2004/09/05 03:47:06 bp Exp $ */ #ifndef TDF_INCLUDED #define TDF_INCLUDED /* AUTOMATICALLY GENERATED BY make_tdf VERSION 2.0 FROM TDF 4.1 */ extern void init_constructs (void); extern sortname find_sort (char); extern node *de_access (void); extern node *de_al_tag (void); extern long de_al_tagdef_bits (void); extern node *de_alignment (void); extern node *de_bitfield_variety (void); extern node *de_bool (void); extern node *de_callees (void); extern node *de_error_code (void); extern node *de_error_treatment (void); extern node *de_exp (void); extern long de_external_bits (void); extern node *de_floating_variety (void); extern node *de_label (void); extern node *de_nat (void); extern node *de_ntest (void); extern node *de_procprops (void); extern node *de_rounding_mode (void); extern node *de_shape (void); extern node *de_signed_nat (void); extern long de_sortname_bits (void); extern node *de_string (void); extern node *de_tag (void); extern long de_tagdec_bits (void); extern long de_tagdef_bits (void); extern long de_tokdec_bits (void); extern long de_tokdef_bits (void); extern long de_token_bits (void); extern long de_token_defn_bits (void); extern node *de_transfer_mode (void); extern node *de_variety (void); extern long de_version_bits (void); struct tdf_stream; extern void enc_al_tag_bits (struct tdf_stream *, int); extern void enc_al_tagdef_bits (struct tdf_stream *, int); extern void enc_external_bits (struct tdf_stream *, int); extern void enc_label_bits (struct tdf_stream *, int); extern void enc_sortname_bits (struct tdf_stream *, int); extern void enc_tag_bits (struct tdf_stream *, int); extern void enc_tagdec_bits (struct tdf_stream *, int); extern void enc_tagdef_bits (struct tdf_stream *, int); extern void enc_tokdec_bits (struct tdf_stream *, int); extern void enc_tokdef_bits (struct tdf_stream *, int); extern void enc_token_bits (struct tdf_stream *, int); extern void enc_token_defn_bits (struct tdf_stream *, int); extern void enc_version_bits (struct tdf_stream *, int); extern node *read_access (long); extern node *read_al_tag (long); extern node *read_alignment (long); extern node *read_bitfield_variety (long); extern node *read_bool (long); extern node *read_callees (long); extern node *read_error_code (long); extern node *read_error_treatment (long); extern node *read_exp (long); extern node *read_floating_variety (long); extern node *read_label (long); extern node *read_nat (long); extern node *read_ntest (long); extern node *read_procprops (long); extern node *read_rounding_mode (long); extern node *read_shape (long); extern node *read_signed_nat (long); extern node *read_string (long); extern node *read_tag (long); extern node *read_transfer_mode (long); extern node *read_variety (long); #define VERSION_capsule "TDFC" #define VERSION_library "TDFL" #define VERSION_major 4 #define VERSION_minor 1 #define LINK_al_tagdef_props "aldef" #define LINK_tagdec_props "tagdec" #define LINK_tagdef_props "tagdef" #define LINK_tokdec_props "tokdec" #define LINK_tokdef_props "tokdef" #define LINK_version_props "versions" #define LINK_tld_props "tld" #define LINK_al_tag "alignment" #define LINK_tag "tag" #define LINK_token "token" #define SORT_access 1 #define SORT_al_tag 2 #define SORT_alignment 3 #define SORT_bitfield_variety 4 #define SORT_bool 5 #define SORT_error_treatment 6 #define SORT_exp 7 #define SORT_floating_variety 8 #define SORT_foreign_sort 9 #define SORT_label 10 #define SORT_nat 11 #define SORT_ntest 12 #define SORT_procprops 13 #define SORT_rounding_mode 14 #define SORT_shape 15 #define SORT_signed_nat 16 #define SORT_string 17 #define SORT_tag 18 #define SORT_transfer_mode 19 #define SORT_token 20 #define SORT_variety 21 #define SORT_foreign ENC_foreign_sort #define SORT_callees 22 #define SORT_error_code 23 #define SORT_sortname 0 #define SORT_unknown 0 #define SORT_repeat (-1) #define SORT_option (-2) #define SORT_completion (-3) #define SORT_small_tdfint (-4) #define SORT_bitstream (-5) #define SORT_bytestream (-6) #define SORT_tdfbool (-7) #define SORT_tdfident (-8) #define SORT_tdfint (-9) #define SORT_tdfstring (-10) #define SORT_max 21 #define SORT_no 24 #define ENC_access_apply_token 1 #define ENC_access_cond 2 #define ENC_add_accesses 3 #define ENC_constant 4 #define ENC_long_jump_access 5 #define ENC_no_other_read 6 #define ENC_no_other_write 7 #define ENC_out_par 8 #define ENC_preserve 9 #define ENC_register 10 #define ENC_standard_access 11 #define ENC_used_as_volatile 12 #define ENC_visible 13 #define ENC_al_tag_apply_token 2 #define ENC_make_al_tag 1 #define ENC_make_al_tagdef 1 #define ENC_alignment_apply_token 1 #define ENC_alignment_cond 2 #define ENC_alignment 3 #define ENC_alloca_alignment 4 #define ENC_callees_alignment 5 #define ENC_callers_alignment 6 #define ENC_code_alignment 7 #define ENC_locals_alignment 8 #define ENC_obtain_al_tag 9 #define ENC_parameter_alignment 10 #define ENC_unite_alignments 11 #define ENC_var_param_alignment 12 #define ENC_bfvar_apply_token 1 #define ENC_bfvar_cond 2 #define ENC_bfvar_bits 3 #define ENC_bool_apply_token 1 #define ENC_bool_cond 2 #define ENC_false 3 #define ENC_true 4 #define ENC_make_callee_list 1 #define ENC_make_dynamic_callees 2 #define ENC_same_callees 3 #define ENC_nil_access 1 #define ENC_overflow 2 #define ENC_stack_overflow 3 #define ENC_errt_apply_token 1 #define ENC_errt_cond 2 #define ENC_continue 3 #define ENC_error_jump 4 #define ENC_trap 5 #define ENC_wrap 6 #define ENC_impossible 7 #define ENC_exp_apply_token 1 #define ENC_exp_cond 2 #define ENC_abs 3 #define ENC_add_to_ptr 4 #define ENC_and 5 #define ENC_apply_proc 6 #define ENC_apply_general_proc 7 #define ENC_assign 8 #define ENC_assign_with_mode 9 #define ENC_bitfield_assign 10 #define ENC_bitfield_assign_with_mode 11 #define ENC_bitfield_contents 12 #define ENC_bitfield_contents_with_mode 13 #define ENC_case 14 #define ENC_change_bitfield_to_int 15 #define ENC_change_floating_variety 16 #define ENC_change_variety 17 #define ENC_change_int_to_bitfield 18 #define ENC_complex_conjugate 19 #define ENC_component 20 #define ENC_concat_nof 21 #define ENC_conditional 22 #define ENC_contents 23 #define ENC_contents_with_mode 24 #define ENC_current_env 25 #define ENC_div0 26 #define ENC_div1 27 #define ENC_div2 28 #define ENC_env_offset 29 #define ENC_env_size 30 #define ENC_fail_installer 31 #define ENC_float_int 32 #define ENC_floating_abs 33 #define ENC_floating_div 34 #define ENC_floating_minus 35 #define ENC_floating_maximum 36 #define ENC_floating_minimum 37 #define ENC_floating_mult 38 #define ENC_floating_negate 39 #define ENC_floating_plus 40 #define ENC_floating_power 41 #define ENC_floating_test 42 #define ENC_goto 43 #define ENC_goto_local_lv 44 #define ENC_identify 45 #define ENC_ignorable 46 #define ENC_imaginary_part 47 #define ENC_initial_value 48 #define ENC_integer_test 49 #define ENC_labelled 50 #define ENC_last_local 51 #define ENC_local_alloc 52 #define ENC_local_alloc_check 53 #define ENC_local_free 54 #define ENC_local_free_all 55 #define ENC_long_jump 56 #define ENC_make_complex 57 #define ENC_make_compound 58 #define ENC_make_floating 59 #define ENC_make_general_proc 60 #define ENC_make_int 61 #define ENC_make_local_lv 62 #define ENC_make_nof 63 #define ENC_make_nof_int 64 #define ENC_make_null_local_lv 65 #define ENC_make_null_proc 66 #define ENC_make_null_ptr 67 #define ENC_make_proc 68 #define ENC_make_stack_limit 116 #define ENC_make_top 69 #define ENC_make_value 70 #define ENC_maximum 71 #define ENC_minimum 72 #define ENC_minus 73 #define ENC_move_some 74 #define ENC_mult 75 #define ENC_n_copies 76 #define ENC_negate 77 #define ENC_not 78 #define ENC_obtain_tag 79 #define ENC_offset_add 80 #define ENC_offset_div 81 #define ENC_offset_div_by_int 82 #define ENC_offset_max 83 #define ENC_offset_mult 84 #define ENC_offset_negate 85 #define ENC_offset_pad 86 #define ENC_offset_subtract 87 #define ENC_offset_test 88 #define ENC_offset_zero 89 #define ENC_or 90 #define ENC_plus 91 #define ENC_pointer_test 92 #define ENC_power 93 #define ENC_proc_test 94 #define ENC_profile 95 #define ENC_real_part 96 #define ENC_rem0 97 #define ENC_rem1 98 #define ENC_rem2 99 #define ENC_repeat 100 #define ENC_return 101 #define ENC_return_to_label 102 #define ENC_round_with_mode 103 #define ENC_rotate_left 104 #define ENC_rotate_right 105 #define ENC_sequence 106 #define ENC_set_stack_limit 107 #define ENC_shape_offset 108 #define ENC_shift_left 109 #define ENC_shift_right 110 #define ENC_subtract_ptrs 111 #define ENC_tail_call 112 #define ENC_untidy_return 113 #define ENC_variable 114 #define ENC_xor 115 #define ENC_string_extern 1 #define ENC_unique_extern 2 #define ENC_chain_extern 3 #define ENC_flvar_apply_token 1 #define ENC_flvar_cond 2 #define ENC_flvar_parms 3 #define ENC_complex_parms 4 #define ENC_float_of_complex 5 #define ENC_complex_of_float 6 #define ENC_label_apply_token 2 #define ENC_make_label 1 #define ENC_nat_apply_token 1 #define ENC_nat_cond 2 #define ENC_computed_nat 3 #define ENC_error_val 4 #define ENC_make_nat 5 #define ENC_ntest_apply_token 1 #define ENC_ntest_cond 2 #define ENC_equal 3 #define ENC_greater_than 4 #define ENC_greater_than_or_equal 5 #define ENC_less_than 6 #define ENC_less_than_or_equal 7 #define ENC_not_equal 8 #define ENC_not_greater_than 9 #define ENC_not_greater_than_or_equal 10 #define ENC_not_less_than 11 #define ENC_not_less_than_or_equal 12 #define ENC_less_than_or_greater_than 13 #define ENC_not_less_than_and_not_great 14 #define ENC_comparable 15 #define ENC_not_comparable 16 #define ENC_procprops_apply_token 1 #define ENC_procprops_cond 2 #define ENC_add_procprops 3 #define ENC_check_stack 4 #define ENC_inline 5 #define ENC_no_long_jump_dest 6 #define ENC_untidy 7 #define ENC_var_callees 8 #define ENC_var_callers 9 #define ENC_rounding_mode_apply_token 1 #define ENC_rounding_mode_cond 2 #define ENC_round_as_state 3 #define ENC_to_nearest 4 #define ENC_toward_larger 5 #define ENC_toward_smaller 6 #define ENC_toward_zero 7 #define ENC_shape_apply_token 1 #define ENC_shape_cond 2 #define ENC_bitfield 3 #define ENC_bottom 4 #define ENC_compound 5 #define ENC_floating 6 #define ENC_integer 7 #define ENC_nof 8 #define ENC_offset 9 #define ENC_pointer 10 #define ENC_proc 11 #define ENC_top 12 #define ENC_shape_none 13 #define ENC_signed_nat_apply_token 1 #define ENC_signed_nat_cond 2 #define ENC_computed_signed_nat 3 #define ENC_make_signed_nat 4 #define ENC_snat_from_nat 5 #define ENC_access 1 #define ENC_al_tag 2 #define ENC_alignment_sort 3 #define ENC_bitfield_variety 4 #define ENC_bool 5 #define ENC_error_treatment 6 #define ENC_exp 7 #define ENC_floating_variety 8 #define ENC_foreign_sort 9 #define ENC_label 10 #define ENC_nat 11 #define ENC_ntest 12 #define ENC_procprops 13 #define ENC_rounding_mode 14 #define ENC_shape 15 #define ENC_signed_nat 16 #define ENC_string 17 #define ENC_tag 18 #define ENC_transfer_mode 19 #define ENC_token 20 #define ENC_variety 21 #define ENC_string_apply_token 1 #define ENC_string_cond 2 #define ENC_concat_string 3 #define ENC_make_string 4 #define ENC_tag_apply_token 2 #define ENC_make_tag 1 #define ENC_make_id_tagdec 1 #define ENC_make_var_tagdec 2 #define ENC_common_tagdec 3 #define ENC_make_id_tagdef 1 #define ENC_make_var_tagdef 2 #define ENC_common_tagdef 3 #define ENC_make_tokdec 1 #define ENC_make_tokdef 1 #define ENC_token_apply_token 1 #define ENC_make_tok 2 #define ENC_use_tokdef 3 #define ENC_token_definition 1 #define ENC_transfer_mode_apply_token 1 #define ENC_transfer_mode_cond 2 #define ENC_add_modes 3 #define ENC_overlap 4 #define ENC_standard_transfer_mode 5 #define ENC_trap_on_nil 6 #define ENC_volatile 7 #define ENC_complete 8 #define ENC_var_apply_token 1 #define ENC_var_cond 2 #define ENC_var_limits 3 #define ENC_var_width 4 #define ENC_make_version 1 #define ENC_user_info 2 #endif