Subversion Repositories tendra.SVN

Rev

Rev 5 | Blame | Compare with Previous | Last modification | View Log | RSS feed

#
#                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.
#

[
 [sorts,
  [
   [
    [sortid, diag_descriptor],
    [encoding_bits, 2],
    [has_extension, 1],
    [constructs,
     [
      [
       [construct_name, diag_desc_id],
       [encoding, 1],
       [result_sort, diag_descriptor],
       [parameter_sorts,
        [
         [src_name, tdfstring],
         [whence, sourcemark],
         [found_at, exp],
         [type, diag_type]]]],
      [
       [construct_name, diag_desc_struct],
       [encoding, 2],
       [result_sort, diag_descriptor],
       [parameter_sorts,
        [
         [src_name, tdfstring],
         [whence, sourcemark],
         [new_type, diag_type]]]],
      [
       [construct_name, diag_desc_typedef],
       [encoding, 3],
       [result_sort, diag_descriptor],
       [parameter_sorts,
        [
         [src_name, tdfstring],
         [whence, sourcemark],
         [new_type, diag_type]]]]]]],
   [
    [sortid, diag_unit],
    [encoding_bits, 0],
    [has_extension, 0],
    [constructs,
     [
      [
       [construct_name, build_diag_unit],
       [encoding, 0],
       [result_sort, diag_unit],
       [parameter_sorts,
        [
         [no_labels, tdfint],
         [descriptors, diag_descriptor_list]]]]]]],
   [
    [sortid, diag_tag],
    [encoding_bits, 1],
    [has_extension, 1],
    [constructs,
     [
      [
       [construct_name, make_diag_tag],
       [encoding, 1],
       [result_sort, diag_tag],
       [parameter_sorts,
        [
         [num, tdfint]]]]]]],
   [
    [sortid, diag_tagdef],
    [encoding_bits, 1],
    [has_extension, 1],
    [constructs,
     [
      [
       [construct_name, make_diag_tagdef],
       [encoding, 1],
       [result_sort, diag_tagdef],
       [parameter_sorts,
        [
         [tno, tdfint],
         [dtype, diag_type]]]]]]],
   [
    [sortid, diag_type_unit],
    [encoding_bits, 0],
    [has_extension, 0],
    [constructs,
     [
      [
       [construct_name, build_diagtype_unit],
       [encoding, 0],
       [result_sort, diag_type_unit],
       [parameter_sorts,
        [
         [no_labels, tdfint],
         [tagdefs, diag_tagdef_list]]]]]]],
   [
    [sortid, diag_type],
    [encoding_bits, 4],
    [has_extension, 1],
    [constructs,
     [
      [
       [construct_name, diag_type_apply_token],
       [encoding, 1],
       [result_sort, diag_type],
       [parameter_sorts,
        [
         [token_value, token],
         [token_args, bitstream]]]],
      [
       [construct_name, diag_array],
       [encoding, 2],
       [result_sort, diag_type],
       [parameter_sorts,
        [
         [element_type, diag_type],
         [stride, exp],
         [lower_bound, exp],
         [upper_bound, exp],
         [index_type, diag_type]]]],
      [
       [construct_name, diag_bitfield],
       [encoding, 3],
       [result_sort, diag_type],
       [parameter_sorts,
        [
         [type, diag_type],
         [number_of_bits, nat]]]],
      [
       [construct_name, diag_enum],
       [encoding, 4],
       [result_sort, diag_type],
       [parameter_sorts,
        [
         [base_type, diag_type],
         [enum_name, tdfstring],
         [values, enum_values_list]]]],
      [
       [construct_name, diag_floating_variety],
       [encoding, 5],
       [result_sort, diag_type],
       [parameter_sorts,
        [
         [var, floating_variety]]]],
      [
       [construct_name, diag_loc],
       [encoding, 6],
       [result_sort, diag_type],
       [parameter_sorts,
        [
         [object, diag_type],
         [qualifier, diag_tq]]]],
      [
       [construct_name, diag_proc],
       [encoding, 7],
       [result_sort, diag_type],
       [parameter_sorts,
        [
         [params, diag_type_list],
         [optional_args, bool],
         [result_type, diag_type]]]],
      [
       [construct_name, diag_ptr],
       [encoding, 8],
       [result_sort, diag_type],
       [parameter_sorts,
        [
         [object, diag_type],
         [qualifier, diag_tq]]]],
      [
       [construct_name, diag_struct],
       [encoding, 9],
       [result_sort, diag_type],
       [parameter_sorts,
        [
         [tdf_shape, shape],
         [src_name, tdfstring],
         [fields, diag_field_list]]]],
      [
       [construct_name, diag_type_null],
       [encoding, 10],
       [result_sort, diag_type],
       [parameter_sorts,
        []]],
      [
       [construct_name, diag_union],
       [encoding, 11],
       [result_sort, diag_type],
       [parameter_sorts,
        [
         [tdf_shape, shape],
         [src_name, tdfstring],
         [fields, diag_field_list]]]],
      [
       [construct_name, diag_variety],
       [encoding, 12],
       [result_sort, diag_type],
       [parameter_sorts,
        [
         [var, variety]]]],
      [
       [construct_name, use_diag_tag],
       [encoding, 13],
       [result_sort, diag_type],
       [parameter_sorts,
        [
         [dtag, diag_tag]]]]]]],
   [
    [sortid, enum_values],
    [encoding_bits, 0],
    [has_extension, 0],
    [constructs,
     [
      [
       [construct_name, make_enum_values],
       [encoding, 0],
       [result_sort, enum_values],
       [parameter_sorts,
        [
         [value, exp],
         [src_name, tdfstring]]]]]]],
   [
    [sortid, diag_field],
    [encoding_bits, 0],
    [has_extension, 0],
    [constructs,
     [
      [
       [construct_name, make_diag_field],
       [encoding, 0],
       [result_sort, diag_field],
       [parameter_sorts,
        [
         [field_name, tdfstring],
         [found_at, exp],
         [field_type, diag_type]]]]]]],
   [
    [sortid, diag_tq],
    [encoding_bits, 2],
    [has_extension, 1],
    [constructs,
     [
      [
       [construct_name, add_diag_const],
       [encoding, 1],
       [result_sort, diag_tq],
       [parameter_sorts,
        [
         [qual, diag_tq]]]],
      [
       [construct_name, add_diag_volatile],
       [encoding, 2],
       [result_sort, diag_tq],
       [parameter_sorts,
        [
         [qual, diag_tq]]]],
      [
       [construct_name, diag_tq_null],
       [encoding, 3],
       [result_sort, diag_tq],
       [parameter_sorts,
        []]]]]],
   [
    [sortid, filename],
    [encoding_bits, 2],
    [has_extension, 1],
    [constructs,
     [
      [
       [construct_name, filename_apply_token],
       [encoding, 1],
       [result_sort, filename],
       [parameter_sorts,
        [
         [token_value, token],
         [token_args, bitstream]]]],
      [
       [construct_name, make_filename],
       [encoding, 2],
       [result_sort, filename],
       [parameter_sorts,
        [
         [date, nat],
         [machine, tdfstring],
         [file, tdfstring]]]]]]],
   [
    [sortid, sourcemark],
    [encoding_bits, 1],
    [has_extension, 1],
    [constructs,
     [
      [
       [construct_name, make_sourcemark],
       [encoding, 1],
       [result_sort, sourcemark],
       [parameter_sorts,
        [
         [file, filename],
         [line_no, nat],
         [char_offset, nat]]]]]]],
   [
    [sortid, linkinfo_props],
    [encoding_bits, 0],
    [has_extension, 0],
    [constructs,
     [
      [
       [construct_name, make_linkinfos],
       [encoding, 0],
       [result_sort, linkinfo_props],
       [parameter_sorts,
        [
         [no_labels, tdfint],
         [tds, linkinfo_list]]]]]]],
   [
    [sortid, linkinfo],
    [encoding_bits, 2],
    [has_extension, 1],
    [constructs,
     [
      [
       [construct_name, static_name_def],
       [encoding, 1],
       [result_sort, linkinfo],
       [parameter_sorts,
        [
         [assexp, exp],
         [id, tdfstring]]]],
      [
       [construct_name, make_comment],
       [encoding, 2],
       [result_sort, linkinfo],
       [parameter_sorts,
        [
         [n, tdfstring]]]],
      [
       [construct_name, make_weak_defn],
       [encoding, 3],
       [result_sort, linkinfo],
       [parameter_sorts,
        [
         [namer, exp],
         [val, exp]]]],
      [
       [construct_name, make_weak_symbol],
       [encoding, 4],
       [result_sort, linkinfo],
       [parameter_sorts,
        [
         [id, tdfstring],
         [val, exp]]]]]]],
   [
    [sortid, access],
    [encoding_bits, 4],
    [has_extension, 1],
    [constructs,
     [
      [
       [construct_name, access_apply_token],
       [encoding, 1],
       [result_sort, access],
       [parameter_sorts,
        [
         [token_value, token],
         [token_args, bitstream]]]],
      [
       [construct_name, access_cond],
       [encoding, 2],
       [result_sort, access],
       [parameter_sorts,
        [
         [control, exp],
         [e1, bitstream],
         [e2, bitstream]]]],
      [
       [construct_name, add_accesses],
       [encoding, 3],
       [result_sort, access],
       [parameter_sorts,
        [
         [a1, access],
         [a, access]]]],
      [
       [construct_name, constant],
       [encoding, 4],
       [result_sort, access],
       [parameter_sorts,
        []]],
      [
       [construct_name, long_jump_access],
       [encoding, 5],
       [result_sort, access],
       [parameter_sorts,
        []]],
      [
       [construct_name, no_other_read],
       [encoding, 6],
       [result_sort, access],
       [parameter_sorts,
        []]],
      [
       [construct_name, no_other_write],
       [encoding, 7],
       [result_sort, access],
       [parameter_sorts,
        []]],
      [
       [construct_name, out_par],
       [encoding, 8],
       [result_sort, access],
       [parameter_sorts,
        []]],
      [
       [construct_name, preserve],
       [encoding, 9],
       [result_sort, access],
       [parameter_sorts,
        []]],
      [
       [construct_name, register],
       [encoding, 10],
       [result_sort, access],
       [parameter_sorts,
        []]],
      [
       [construct_name, standard_access],
       [encoding, 11],
       [result_sort, access],
       [parameter_sorts,
        []]],
      [
       [construct_name, used_as_volatile],
       [encoding, 12],
       [result_sort, access],
       [parameter_sorts,
        []]],
      [
       [construct_name, visible],
       [encoding, 13],
       [result_sort, access],
       [parameter_sorts,
        []]]]]],
   [
    [sortid, al_tag],
    [encoding_bits, 1],
    [has_extension, 1],
    [constructs,
     [
      [
       [construct_name, al_tag_apply_token],
       [encoding, 2],
       [result_sort, al_tag],
       [parameter_sorts,
        [
         [token_value, token],
         [token_args, bitstream]]]],
      [
       [construct_name, make_al_tag],
       [encoding, 1],
       [result_sort, al_tag],
       [parameter_sorts,
        [
         [al_tagno, tdfint]]]]]]],
   [
    [sortid, al_tagdef],
    [encoding_bits, 1],
    [has_extension, 1],
    [constructs,
     [
      [
       [construct_name, make_al_tagdef],
       [encoding, 1],
       [result_sort, al_tagdef],
       [parameter_sorts,
        [
         [t, tdfint],
         [a, alignment]]]]]]],
   [
    [sortid, al_tagdef_props],
    [encoding_bits, 0],
    [has_extension, 0],
    [constructs,
     [
      [
       [construct_name, make_al_tagdefs],
       [encoding, 0],
       [result_sort, al_tagdef_props],
       [parameter_sorts,
        [
         [no_labels, tdfint],
         [tds, al_tagdef_list]]]]]]],
   [
    [sortid, alignment],
    [encoding_bits, 4],
    [has_extension, 1],
    [constructs,
     [
      [
       [construct_name, alignment_apply_token],
       [encoding, 1],
       [result_sort, alignment],
       [parameter_sorts,
        [
         [token_value, token],
         [token_args, bitstream]]]],
      [
       [construct_name, alignment_cond],
       [encoding, 2],
       [result_sort, alignment],
       [parameter_sorts,
        [
         [control, exp],
         [e1, bitstream],
         [e2, bitstream]]]],
      [
       [construct_name, alignment],
       [encoding, 3],
       [result_sort, alignment],
       [parameter_sorts,
        [
         [sha, shape]]]],
      [
       [construct_name, alloca_alignment],
       [encoding, 4],
       [result_sort, alignment],
       [parameter_sorts,
        []]],
      [
       [construct_name, callees_alignment],
       [encoding, 5],
       [result_sort, alignment],
       [parameter_sorts,
        [
         [var, bool]]]],
      [
       [construct_name, callers_alignment],
       [encoding, 6],
       [result_sort, alignment],
       [parameter_sorts,
        [
         [var, bool]]]],
      [
       [construct_name, code_alignment],
       [encoding, 7],
       [result_sort, alignment],
       [parameter_sorts,
        []]],
      [
       [construct_name, locals_alignment],
       [encoding, 8],
       [result_sort, alignment],
       [parameter_sorts,
        []]],
      [
       [construct_name, obtain_al_tag],
       [encoding, 9],
       [result_sort, alignment],
       [parameter_sorts,
        [
         [at, al_tag]]]],
      [
       [construct_name, parameter_alignment],
       [encoding, 10],
       [result_sort, alignment],
       [parameter_sorts,
        [
         [sha, shape]]]],
      [
       [construct_name, unite_alignments],
       [encoding, 11],
       [result_sort, alignment],
       [parameter_sorts,
        [
         [a1, alignment],
         [a2, alignment]]]],
      [
       [construct_name, var_param_alignment],
       [encoding, 12],
       [result_sort, alignment],
       [parameter_sorts,
        []]]]]],
   [
    [sortid, bitfield_variety],
    [encoding_bits, 2],
    [has_extension, 1],
    [constructs,
     [
      [
       [construct_name, bfvar_apply_token],
       [encoding, 1],
       [result_sort, bitfield_variety],
       [parameter_sorts,
        [
         [token_value, token],
         [token_args, bitstream]]]],
      [
       [construct_name, bfvar_cond],
       [encoding, 2],
       [result_sort, bitfield_variety],
       [parameter_sorts,
        [
         [control, exp],
         [e1, bitstream],
         [e2, bitstream]]]],
      [
       [construct_name, bfvar_bits],
       [encoding, 3],
       [result_sort, bitfield_variety],
       [parameter_sorts,
        [
         [issigned, bool],
         [bits, nat]]]]]]],
   [
    [sortid, bool],
    [encoding_bits, 3],
    [has_extension, 1],
    [constructs,
     [
      [
       [construct_name, bool_apply_token],
       [encoding, 1],
       [result_sort, bool],
       [parameter_sorts,
        [
         [token_value, token],
         [token_args, bitstream]]]],
      [
       [construct_name, bool_cond],
       [encoding, 2],
       [result_sort, bool],
       [parameter_sorts,
        [
         [control, exp],
         [e1, bitstream],
         [e2, bitstream]]]],
      [
       [construct_name, false],
       [encoding, 3],
       [result_sort, bool],
       [parameter_sorts,
        []]],
      [
       [construct_name, true],
       [encoding, 4],
       [result_sort, bool],
       [parameter_sorts,
        []]]]]],
   [
    [sortid, callees],
    [encoding_bits, 2],
    [has_extension, 1],
    [constructs,
     [
      [
       [construct_name, make_callee_list],
       [encoding, 1],
       [result_sort, callees],
       [parameter_sorts,
        [
         [args, exp_list]]]],
      [
       [construct_name, make_dynamic_callees],
       [encoding, 2],
       [result_sort, callees],
       [parameter_sorts,
        [
         [ptr, exp],
         [sze, exp]]]],
      [
       [construct_name, same_callees],
       [encoding, 3],
       [result_sort, callees],
       [parameter_sorts,
        []]]]]],
   [
    [sortid, capsule],
    [encoding_bits, 0],
    [has_extension, 0],
    [constructs,
     [
      [
       [construct_name, make_capsule],
       [encoding, 0],
       [result_sort, capsule],
       [parameter_sorts,
        [
         [prop_names, tdfident_list],
         [capsule_linking, capsule_link_list],
         [external_linkage, extern_link_list],
         [groups, group_list]]],
       [break, 2]]]]],
   [
    [sortid, capsule_link],
    [encoding_bits, 0],
    [has_extension, 0],
    [constructs,
     [
      [
       [construct_name, make_capsule_link],
       [encoding, 0],
       [result_sort, capsule_link],
       [parameter_sorts,
        [
         [sn, tdfident],
         [n, tdfint]]]]]]],
   [
    [sortid, caselim],
    [encoding_bits, 0],
    [has_extension, 0],
    [constructs,
     [
      [
       [construct_name, make_caselim],
       [encoding, 0],
       [result_sort, caselim],
       [parameter_sorts,
        [
         [branch, label],
         [lower, signed_nat],
         [upper, signed_nat]]]]]]],
   [
    [sortid, error_code],
    [encoding_bits, 2],
    [has_extension, 1],
    [constructs,
     [
      [
       [construct_name, nil_access],
       [encoding, 1],
       [result_sort, error_code],
       [parameter_sorts,
        []]],
      [
       [construct_name, overflow],
       [encoding, 2],
       [result_sort, error_code],
       [parameter_sorts,
        []]],
      [
       [construct_name, stack_overflow],
       [encoding, 3],
       [result_sort, error_code],
       [parameter_sorts,
        []]]]]],
   [
    [sortid, error_treatment],
    [encoding_bits, 3],
    [has_extension, 1],
    [constructs,
     [
      [
       [construct_name, errt_apply_token],
       [encoding, 1],
       [result_sort, error_treatment],
       [parameter_sorts,
        [
         [token_value, token],
         [token_args, bitstream]]]],
      [
       [construct_name, errt_cond],
       [encoding, 2],
       [result_sort, error_treatment],
       [parameter_sorts,
        [
         [control, exp],
         [e1, bitstream],
         [e2, bitstream]]]],
      [
       [construct_name, continue],
       [encoding, 3],
       [result_sort, error_treatment],
       [parameter_sorts,
        []]],
      [
       [construct_name, error_jump],
       [encoding, 4],
       [result_sort, error_treatment],
       [parameter_sorts,
        [
         [lab, label]]]],
      [
       [construct_name, trap],
       [encoding, 5],
       [result_sort, error_treatment],
       [parameter_sorts,
        [
         [trap_list, error_code_list]]]],
      [
       [construct_name, wrap],
       [encoding, 6],
       [result_sort, error_treatment],
       [parameter_sorts,
        []]],
      [
       [construct_name, impossible],
       [encoding, 7],
       [result_sort, error_treatment],
       [parameter_sorts,
        []]]]]],
   [
    [sortid, exp],
    [encoding_bits, 7],
    [has_extension, 1],
    [constructs,
     [
      [
       [construct_name, exp_apply_token],
       [encoding, 1],
       [result_sort, exp],
       [parameter_sorts,
        [
         [token_value, token],
         [token_args, bitstream]]]],
      [
       [construct_name, exp_cond],
       [encoding, 2],
       [result_sort, exp],
       [parameter_sorts,
        [
         [control, exp],
         [e1, bitstream],
         [e2, bitstream]]]],
      [
       [construct_name, abs],
       [encoding, 3],
       [result_sort, exp],
       [parameter_sorts,
        [
         [ov_err, error_treatment],
         [arg1, exp]]]],
      [
       [construct_name, add_to_ptr],
       [encoding, 4],
       [result_sort, exp],
       [parameter_sorts,
        [
         [arg1, exp],
         [arg2, exp]]]],
      [
       [construct_name, and],
       [encoding, 5],
       [result_sort, exp],
       [parameter_sorts,
        [
         [arg1, exp],
         [arg2, exp]]]],
      [
       [construct_name, apply_proc],
       [encoding, 6],
       [result_sort, exp],
       [parameter_sorts,
        [
         [result_shape, shape],
         [p, exp],
         [params, exp_list],
         [var_param, exp_option]]]],
      [
       [construct_name, apply_general_proc],
       [encoding, 7],
       [result_sort, exp],
       [parameter_sorts,
        [
         [result_shape, shape],
         [prcprops, procprops_option],
         [p, exp],
         [caller_params_intro, otagexp_list],
         [callee_params, callees],
         [postlude, exp]]],
       [break, 5]],
      [
       [construct_name, assign],
       [encoding, 8],
       [result_sort, exp],
       [parameter_sorts,
        [
         [arg1, exp],
         [arg2, exp]]]],
      [
       [construct_name, assign_with_mode],
       [encoding, 9],
       [result_sort, exp],
       [parameter_sorts,
        [
         [md, transfer_mode],
         [arg1, exp],
         [arg2, exp]]]],
      [
       [construct_name, bitfield_assign],
       [encoding, 10],
       [result_sort, exp],
       [parameter_sorts,
        [
         [arg1, exp],
         [arg2, exp],
         [arg3, exp]]]],
      [
       [construct_name, bitfield_assign_with_mode],
       [encoding, 11],
       [result_sort, exp],
       [parameter_sorts,
        [
         [md, transfer_mode],
         [arg1, exp],
         [arg2, exp],
         [arg3, exp]]]],
      [
       [construct_name, bitfield_contents],
       [encoding, 12],
       [result_sort, exp],
       [parameter_sorts,
        [
         [v, bitfield_variety],
         [arg1, exp],
         [arg2, exp]]]],
      [
       [construct_name, bitfield_contents_with_mode],
       [encoding, 13],
       [result_sort, exp],
       [parameter_sorts,
        [
         [md, transfer_mode],
         [v, bitfield_variety],
         [arg1, exp],
         [arg2, exp]]]],
      [
       [construct_name, case],
       [encoding, 14],
       [result_sort, exp],
       [parameter_sorts,
        [
         [exhaustive, bool],
         [control, exp],
         [branches, caselim_list]]]],
      [
       [construct_name, change_bitfield_to_int],
       [encoding, 15],
       [result_sort, exp],
       [parameter_sorts,
        [
         [v, variety],
         [arg1, exp]]]],
      [
       [construct_name, change_floating_variety],
       [encoding, 16],
       [result_sort, exp],
       [parameter_sorts,
        [
         [flpt_err, error_treatment],
         [r, floating_variety],
         [arg1, exp]]]],
      [
       [construct_name, change_variety],
       [encoding, 17],
       [result_sort, exp],
       [parameter_sorts,
        [
         [ov_err, error_treatment],
         [r, variety],
         [arg1, exp]]]],
      [
       [construct_name, change_int_to_bitfield],
       [encoding, 18],
       [result_sort, exp],
       [parameter_sorts,
        [
         [bv, bitfield_variety],
         [arg1, exp]]]],
      [
       [construct_name, complex_conjugate],
       [encoding, 19],
       [result_sort, exp],
       [parameter_sorts,
        [
         [c, exp]]]],
      [
       [construct_name, component],
       [encoding, 20],
       [result_sort, exp],
       [parameter_sorts,
        [
         [sha, shape],
         [arg1, exp],
         [arg2, exp]]]],
      [
       [construct_name, concat_nof],
       [encoding, 21],
       [result_sort, exp],
       [parameter_sorts,
        [
         [arg1, exp],
         [arg2, exp]]]],
      [
       [construct_name, conditional],
       [encoding, 22],
       [result_sort, exp],
       [parameter_sorts,
        [
         [alt_label_intro, label],
         [first, exp],
         [alt, exp]]],
       [break, 1]],
      [
       [construct_name, contents],
       [encoding, 23],
       [result_sort, exp],
       [parameter_sorts,
        [
         [s, shape],
         [arg1, exp]]]],
      [
       [construct_name, contents_with_mode],
       [encoding, 24],
       [result_sort, exp],
       [parameter_sorts,
        [
         [md, transfer_mode],
         [s, shape],
         [arg1, exp]]]],
      [
       [construct_name, current_env],
       [encoding, 25],
       [result_sort, exp],
       [parameter_sorts,
        []]],
      [
       [construct_name, div0],
       [encoding, 26],
       [result_sort, exp],
       [parameter_sorts,
        [
         [div_by_zero_err, error_treatment],
         [ov_err, error_treatment],
         [arg1, exp],
         [arg2, exp]]]],
      [
       [construct_name, div1],
       [encoding, 27],
       [result_sort, exp],
       [parameter_sorts,
        [
         [div_by_zero_err, error_treatment],
         [ov_err, error_treatment],
         [arg1, exp],
         [arg2, exp]]]],
      [
       [construct_name, div2],
       [encoding, 28],
       [result_sort, exp],
       [parameter_sorts,
        [
         [div_by_zero_err, error_treatment],
         [ov_err, error_treatment],
         [arg1, exp],
         [arg2, exp]]]],
      [
       [construct_name, env_offset],
       [encoding, 29],
       [result_sort, exp],
       [parameter_sorts,
        [
         [fa, alignment],
         [y, alignment],
         [t, tag]]]],
      [
       [construct_name, env_size],
       [encoding, 30],
       [result_sort, exp],
       [parameter_sorts,
        [
         [proctag, tag]]]],
      [
       [construct_name, fail_installer],
       [encoding, 31],
       [result_sort, exp],
       [parameter_sorts,
        [
         [message, string]]]],
      [
       [construct_name, float_int],
       [encoding, 32],
       [result_sort, exp],
       [parameter_sorts,
        [
         [flpt_err, error_treatment],
         [f, floating_variety],
         [arg1, exp]]]],
      [
       [construct_name, floating_abs],
       [encoding, 33],
       [result_sort, exp],
       [parameter_sorts,
        [
         [flpt_err, error_treatment],
         [arg1, exp]]]],
      [
       [construct_name, floating_div],
       [encoding, 34],
       [result_sort, exp],
       [parameter_sorts,
        [
         [flpt_err, error_treatment],
         [arg1, exp],
         [arg2, exp]]]],
      [
       [construct_name, floating_minus],
       [encoding, 35],
       [result_sort, exp],
       [parameter_sorts,
        [
         [flpt_err, error_treatment],
         [arg1, exp],
         [arg2, exp]]]],
      [
       [construct_name, floating_maximum],
       [encoding, 36],
       [result_sort, exp],
       [parameter_sorts,
        [
         [flpt_err, error_treatment],
         [arg1, exp],
         [arg2, exp]]]],
      [
       [construct_name, floating_minimum],
       [encoding, 37],
       [result_sort, exp],
       [parameter_sorts,
        [
         [flpt_err, error_treatment],
         [arg1, exp],
         [arg2, exp]]]],
      [
       [construct_name, floating_mult],
       [encoding, 38],
       [result_sort, exp],
       [parameter_sorts,
        [
         [flpt_err, error_treatment],
         [arg1, exp_list]]]],
      [
       [construct_name, floating_negate],
       [encoding, 39],
       [result_sort, exp],
       [parameter_sorts,
        [
         [flpt_err, error_treatment],
         [arg1, exp]]]],
      [
       [construct_name, floating_plus],
       [encoding, 40],
       [result_sort, exp],
       [parameter_sorts,
        [
         [flpt_err, error_treatment],
         [arg1, exp_list]]]],
      [
       [construct_name, floating_power],
       [encoding, 41],
       [result_sort, exp],
       [parameter_sorts,
        [
         [flpt_err, error_treatment],
         [arg1, exp],
         [arg2, exp]]]],
      [
       [construct_name, floating_test],
       [encoding, 42],
       [result_sort, exp],
       [parameter_sorts,
        [
         [prob, nat_option],
         [flpt_err, error_treatment],
         [nt, ntest],
         [dest, label],
         [arg1, exp],
         [arg2, exp]]]],
      [
       [construct_name, goto],
       [encoding, 43],
       [result_sort, exp],
       [parameter_sorts,
        [
         [dest, label]]]],
      [
       [construct_name, goto_local_lv],
       [encoding, 44],
       [result_sort, exp],
       [parameter_sorts,
        [
         [arg1, exp]]]],
      [
       [construct_name, identify],
       [encoding, 45],
       [result_sort, exp],
       [parameter_sorts,
        [
         [opt_access, access_option],
         [name_intro, tag],
         [definition, exp],
         [body, exp]]],
       [break, 3]],
      [
       [construct_name, ignorable],
       [encoding, 46],
       [result_sort, exp],
       [parameter_sorts,
        [
         [arg1, exp]]]],
      [
       [construct_name, imaginary_part],
       [encoding, 47],
       [result_sort, exp],
       [parameter_sorts,
        [
         [arg1, exp]]]],
      [
       [construct_name, initial_value],
       [encoding, 48],
       [result_sort, exp],
       [parameter_sorts,
        [
         [init, exp]]],
       [break, 0]],
      [
       [construct_name, integer_test],
       [encoding, 49],
       [result_sort, exp],
       [parameter_sorts,
        [
         [prob, nat_option],
         [nt, ntest],
         [dest, label],
         [arg1, exp],
         [arg2, exp]]]],
      [
       [construct_name, labelled],
       [encoding, 50],
       [result_sort, exp],
       [parameter_sorts,
        [
         [placelabs_intro, label_list],
         [starter, exp],
         [places, exp_list]]],
       [break, 1]],
      [
       [construct_name, last_local],
       [encoding, 51],
       [result_sort, exp],
       [parameter_sorts,
        [
         [x, exp]]]],
      [
       [construct_name, local_alloc],
       [encoding, 52],
       [result_sort, exp],
       [parameter_sorts,
        [
         [arg1, exp]]]],
      [
       [construct_name, local_alloc_check],
       [encoding, 53],
       [result_sort, exp],
       [parameter_sorts,
        [
         [arg1, exp]]]],
      [
       [construct_name, local_free],
       [encoding, 54],
       [result_sort, exp],
       [parameter_sorts,
        [
         [a, exp],
         [p, exp]]]],
      [
       [construct_name, local_free_all],
       [encoding, 55],
       [result_sort, exp],
       [parameter_sorts,
        []]],
      [
       [construct_name, long_jump],
       [encoding, 56],
       [result_sort, exp],
       [parameter_sorts,
        [
         [arg1, exp],
         [arg2, exp]]]],
      [
       [construct_name, make_complex],
       [encoding, 57],
       [result_sort, exp],
       [parameter_sorts,
        [
         [c, floating_variety],
         [arg1, exp],
         [arg2, exp]]]],
      [
       [construct_name, make_compound],
       [encoding, 58],
       [result_sort, exp],
       [parameter_sorts,
        [
         [arg1, exp],
         [arg2, exp_list]]]],
      [
       [construct_name, make_floating],
       [encoding, 59],
       [result_sort, exp],
       [parameter_sorts,
        [
         [f, floating_variety],
         [rm, rounding_mode],
         [negative, bool],
         [mantissa, string],
         [base, nat],
         [exponent, signed_nat]]]],
      [
       [construct_name, make_general_proc],
       [encoding, 60],
       [result_sort, exp],
       [parameter_sorts,
        [
         [result_shape, shape],
         [prcprops, procprops_option],
         [caller_intro, tagshacc_list],
         [callee_intro, tagshacc_list],
         [body, exp]]],
       [break, 4]],
      [
       [construct_name, make_int],
       [encoding, 61],
       [result_sort, exp],
       [parameter_sorts,
        [
         [v, variety],
         [value, signed_nat]]]],
      [
       [construct_name, make_local_lv],
       [encoding, 62],
       [result_sort, exp],
       [parameter_sorts,
        [
         [lab, label]]]],
      [
       [construct_name, make_nof],
       [encoding, 63],
       [result_sort, exp],
       [parameter_sorts,
        [
         [arg1, exp_list]]]],
      [
       [construct_name, make_nof_int],
       [encoding, 64],
       [result_sort, exp],
       [parameter_sorts,
        [
         [v, variety],
         [str, string]]]],
      [
       [construct_name, make_null_local_lv],
       [encoding, 65],
       [result_sort, exp],
       [parameter_sorts,
        []]],
      [
       [construct_name, make_null_proc],
       [encoding, 66],
       [result_sort, exp],
       [parameter_sorts,
        []]],
      [
       [construct_name, make_null_ptr],
       [encoding, 67],
       [result_sort, exp],
       [parameter_sorts,
        [
         [a, alignment]]]],
      [
       [construct_name, make_proc],
       [encoding, 68],
       [result_sort, exp],
       [parameter_sorts,
        [
         [result_shape, shape],
         [params_intro, tagshacc_list],
         [var_intro, tagacc_option],
         [body, exp]]],
       [break, 3]],
      [
       [construct_name, make_stack_limit],
       [encoding, 116],
       [result_sort, exp],
       [parameter_sorts,
        [
         [stack_base, exp],
         [frame_size, exp],
         [alloc_size, exp]]]],
      [
       [construct_name, make_top],
       [encoding, 69],
       [result_sort, exp],
       [parameter_sorts,
        []]],
      [
       [construct_name, make_value],
       [encoding, 70],
       [result_sort, exp],
       [parameter_sorts,
        [
         [s, shape]]]],
      [
       [construct_name, maximum],
       [encoding, 71],
       [result_sort, exp],
       [parameter_sorts,
        [
         [arg1, exp],
         [arg2, exp]]]],
      [
       [construct_name, minimum],
       [encoding, 72],
       [result_sort, exp],
       [parameter_sorts,
        [
         [arg1, exp],
         [arg2, exp]]]],
      [
       [construct_name, minus],
       [encoding, 73],
       [result_sort, exp],
       [parameter_sorts,
        [
         [ov_err, error_treatment],
         [arg1, exp],
         [arg2, exp]]]],
      [
       [construct_name, move_some],
       [encoding, 74],
       [result_sort, exp],
       [parameter_sorts,
        [
         [md, transfer_mode],
         [arg1, exp],
         [arg2, exp],
         [arg3, exp]]]],
      [
       [construct_name, mult],
       [encoding, 75],
       [result_sort, exp],
       [parameter_sorts,
        [
         [ov_err, error_treatment],
         [arg1, exp],
         [arg2, exp]]]],
      [
       [construct_name, n_copies],
       [encoding, 76],
       [result_sort, exp],
       [parameter_sorts,
        [
         [n, nat],
         [arg1, exp]]]],
      [
       [construct_name, negate],
       [encoding, 77],
       [result_sort, exp],
       [parameter_sorts,
        [
         [ov_err, error_treatment],
         [arg1, exp]]]],
      [
       [construct_name, not],
       [encoding, 78],
       [result_sort, exp],
       [parameter_sorts,
        [
         [arg1, exp]]]],
      [
       [construct_name, obtain_tag],
       [encoding, 79],
       [result_sort, exp],
       [parameter_sorts,
        [
         [t, tag]]]],
      [
       [construct_name, offset_add],
       [encoding, 80],
       [result_sort, exp],
       [parameter_sorts,
        [
         [arg1, exp],
         [arg2, exp]]]],
      [
       [construct_name, offset_div],
       [encoding, 81],
       [result_sort, exp],
       [parameter_sorts,
        [
         [v, variety],
         [arg1, exp],
         [arg2, exp]]]],
      [
       [construct_name, offset_div_by_int],
       [encoding, 82],
       [result_sort, exp],
       [parameter_sorts,
        [
         [arg1, exp],
         [arg2, exp]]]],
      [
       [construct_name, offset_max],
       [encoding, 83],
       [result_sort, exp],
       [parameter_sorts,
        [
         [arg1, exp],
         [arg2, exp]]]],
      [
       [construct_name, offset_mult],
       [encoding, 84],
       [result_sort, exp],
       [parameter_sorts,
        [
         [arg1, exp],
         [arg2, exp]]]],
      [
       [construct_name, offset_negate],
       [encoding, 85],
       [result_sort, exp],
       [parameter_sorts,
        [
         [arg1, exp]]]],
      [
       [construct_name, offset_pad],
       [encoding, 86],
       [result_sort, exp],
       [parameter_sorts,
        [
         [a, alignment],
         [arg1, exp]]]],
      [
       [construct_name, offset_subtract],
       [encoding, 87],
       [result_sort, exp],
       [parameter_sorts,
        [
         [arg1, exp],
         [arg2, exp]]]],
      [
       [construct_name, offset_test],
       [encoding, 88],
       [result_sort, exp],
       [parameter_sorts,
        [
         [prob, nat_option],
         [nt, ntest],
         [dest, label],
         [arg1, exp],
         [arg2, exp]]]],
      [
       [construct_name, offset_zero],
       [encoding, 89],
       [result_sort, exp],
       [parameter_sorts,
        [
         [a, alignment]]]],
      [
       [construct_name, or],
       [encoding, 90],
       [result_sort, exp],
       [parameter_sorts,
        [
         [arg1, exp],
         [arg2, exp]]]],
      [
       [construct_name, plus],
       [encoding, 91],
       [result_sort, exp],
       [parameter_sorts,
        [
         [ov_err, error_treatment],
         [arg1, exp],
         [arg2, exp]]]],
      [
       [construct_name, pointer_test],
       [encoding, 92],
       [result_sort, exp],
       [parameter_sorts,
        [
         [prob, nat_option],
         [nt, ntest],
         [dest, label],
         [arg1, exp],
         [arg2, exp]]]],
      [
       [construct_name, power],
       [encoding, 93],
       [result_sort, exp],
       [parameter_sorts,
        [
         [ov_err, error_treatment],
         [arg1, exp],
         [arg2, exp]]]],
      [
       [construct_name, proc_test],
       [encoding, 94],
       [result_sort, exp],
       [parameter_sorts,
        [
         [prob, nat_option],
         [nt, ntest],
         [dest, label],
         [arg1, exp],
         [arg2, exp]]]],
      [
       [construct_name, profile],
       [encoding, 95],
       [result_sort, exp],
       [parameter_sorts,
        [
         [uses, nat]]]],
      [
       [construct_name, real_part],
       [encoding, 96],
       [result_sort, exp],
       [parameter_sorts,
        [
         [arg1, exp]]]],
      [
       [construct_name, rem0],
       [encoding, 97],
       [result_sort, exp],
       [parameter_sorts,
        [
         [div_by_zero_err, error_treatment],
         [ov_err, error_treatment],
         [arg1, exp],
         [arg2, exp]]]],
      [
       [construct_name, rem1],
       [encoding, 98],
       [result_sort, exp],
       [parameter_sorts,
        [
         [div_by_zero_err, error_treatment],
         [ov_err, error_treatment],
         [arg1, exp],
         [arg2, exp]]]],
      [
       [construct_name, rem2],
       [encoding, 99],
       [result_sort, exp],
       [parameter_sorts,
        [
         [div_by_zero_err, error_treatment],
         [ov_err, error_treatment],
         [arg1, exp],
         [arg2, exp]]]],
      [
       [construct_name, repeat],
       [encoding, 100],
       [result_sort, exp],
       [parameter_sorts,
        [
         [repeat_label_intro, label],
         [start, exp],
         [body, exp]]],
       [break, 1]],
      [
       [construct_name, return],
       [encoding, 101],
       [result_sort, exp],
       [parameter_sorts,
        [
         [arg1, exp]]]],
      [
       [construct_name, return_to_label],
       [encoding, 102],
       [result_sort, exp],
       [parameter_sorts,
        [
         [lab_val, exp]]]],
      [
       [construct_name, round_with_mode],
       [encoding, 103],
       [result_sort, exp],
       [parameter_sorts,
        [
         [flpt_err, error_treatment],
         [mode, rounding_mode],
         [r, variety],
         [arg1, exp]]]],
      [
       [construct_name, rotate_left],
       [encoding, 104],
       [result_sort, exp],
       [parameter_sorts,
        [
         [arg1, exp],
         [arg2, exp]]]],
      [
       [construct_name, rotate_right],
       [encoding, 105],
       [result_sort, exp],
       [parameter_sorts,
        [
         [arg1, exp],
         [arg2, exp]]]],
      [
       [construct_name, sequence],
       [encoding, 106],
       [result_sort, exp],
       [parameter_sorts,
        [
         [statements, exp_list],
         [result, exp]]]],
      [
       [construct_name, set_stack_limit],
       [encoding, 107],
       [result_sort, exp],
       [parameter_sorts,
        [
         [lim, exp]]]],
      [
       [construct_name, shape_offset],
       [encoding, 108],
       [result_sort, exp],
       [parameter_sorts,
        [
         [s, shape]]]],
      [
       [construct_name, shift_left],
       [encoding, 109],
       [result_sort, exp],
       [parameter_sorts,
        [
         [ov_err, error_treatment],
         [arg1, exp],
         [arg2, exp]]]],
      [
       [construct_name, shift_right],
       [encoding, 110],
       [result_sort, exp],
       [parameter_sorts,
        [
         [arg1, exp],
         [arg2, exp]]]],
      [
       [construct_name, subtract_ptrs],
       [encoding, 111],
       [result_sort, exp],
       [parameter_sorts,
        [
         [arg1, exp],
         [arg2, exp]]]],
      [
       [construct_name, tail_call],
       [encoding, 112],
       [result_sort, exp],
       [parameter_sorts,
        [
         [prcprops, procprops_option],
         [p, exp],
         [callee_params, callees]]]],
      [
       [construct_name, untidy_return],
       [encoding, 113],
       [result_sort, exp],
       [parameter_sorts,
        [
         [arg1, exp]]]],
      [
       [construct_name, variable],
       [encoding, 114],
       [result_sort, exp],
       [parameter_sorts,
        [
         [opt_access, access_option],
         [name_intro, tag],
         [init, exp],
         [body, exp]]],
       [break, 3]],
      [
       [construct_name, xor],
       [encoding, 115],
       [result_sort, exp],
       [parameter_sorts,
        [
         [arg1, exp],
         [arg2, exp]]]]]]],
   [
    [sortid, external],
    [encoding_bits, 2],
    [has_extension, 1],
    [constructs,
     [
      [
       [construct_name, string_extern],
       [encoding, 1],
       [result_sort, external],
       [parameter_sorts,
        [
         [s, tdfident]]],
       [boundaries,
        [0]]],
      [
       [construct_name, unique_extern],
       [encoding, 2],
       [result_sort, external],
       [parameter_sorts,
        [
         [u, unique]]],
       [boundaries,
        [0]]],
      [
       [construct_name, chain_extern],
       [encoding, 3],
       [result_sort, external],
       [parameter_sorts,
        [
         [s, tdfident],
         [prev, tdfint]]],
       [boundaries,
        [0]]]]]],
   [
    [sortid, extern_link],
    [encoding_bits, 0],
    [has_extension, 0],
    [constructs,
     [
      [
       [construct_name, make_extern_link],
       [encoding, 0],
       [result_sort, extern_link],
       [parameter_sorts,
        [
         [el, linkextern_list]]]]]]],
   [
    [sortid, floating_variety],
    [encoding_bits, 3],
    [has_extension, 1],
    [constructs,
     [
      [
       [construct_name, flvar_apply_token],
       [encoding, 1],
       [result_sort, floating_variety],
       [parameter_sorts,
        [
         [token_value, token],
         [token_args, bitstream]]]],
      [
       [construct_name, flvar_cond],
       [encoding, 2],
       [result_sort, floating_variety],
       [parameter_sorts,
        [
         [control, exp],
         [e1, bitstream],
         [e2, bitstream]]]],
      [
       [construct_name, flvar_parms],
       [encoding, 3],
       [result_sort, floating_variety],
       [parameter_sorts,
        [
         [base, nat],
         [mantissa_digits, nat],
         [minimum_exponent, nat],
         [maximum_exponent, nat]]]],
      [
       [construct_name, complex_parms],
       [encoding, 4],
       [result_sort, floating_variety],
       [parameter_sorts,
        [
         [base, nat],
         [mantissa_digits, nat],
         [minimum_exponent, nat],
         [maximum_exponent, nat]]]],
      [
       [construct_name, float_of_complex],
       [encoding, 5],
       [result_sort, floating_variety],
       [parameter_sorts,
        [
         [csh, shape]]]],
      [
       [construct_name, complex_of_float],
       [encoding, 6],
       [result_sort, floating_variety],
       [parameter_sorts,
        [
         [fsh, shape]]]]]]],
   [
    [sortid, group],
    [encoding_bits, 0],
    [has_extension, 0],
    [constructs,
     [
      [
       [construct_name, make_group],
       [encoding, 0],
       [result_sort, group],
       [parameter_sorts,
        [
         [us, unit_list]]]]]]],
   [
    [sortid, label],
    [encoding_bits, 1],
    [has_extension, 1],
    [constructs,
     [
      [
       [construct_name, label_apply_token],
       [encoding, 2],
       [result_sort, label],
       [parameter_sorts,
        [
         [token_value, token],
         [token_args, bitstream]]]],
      [
       [construct_name, make_label],
       [encoding, 1],
       [result_sort, label],
       [parameter_sorts,
        [
         [labelno, tdfint]]]]]]],
   [
    [sortid, link],
    [encoding_bits, 0],
    [has_extension, 0],
    [constructs,
     [
      [
       [construct_name, make_link],
       [encoding, 0],
       [result_sort, link],
       [parameter_sorts,
        [
         [unit_name, tdfint],
         [capsule_name, tdfint]]]]]]],
   [
    [sortid, linkextern],
    [encoding_bits, 0],
    [has_extension, 0],
    [constructs,
     [
      [
       [construct_name, make_linkextern],
       [encoding, 0],
       [result_sort, linkextern],
       [parameter_sorts,
        [
         [internal, tdfint],
         [ext, external]]]]]]],
   [
    [sortid, links],
    [encoding_bits, 0],
    [has_extension, 0],
    [constructs,
     [
      [
       [construct_name, make_links],
       [encoding, 0],
       [result_sort, links],
       [parameter_sorts,
        [
         [ls, link_list]]]]]]],
   [
    [sortid, nat],
    [encoding_bits, 3],
    [has_extension, 1],
    [constructs,
     [
      [
       [construct_name, nat_apply_token],
       [encoding, 1],
       [result_sort, nat],
       [parameter_sorts,
        [
         [token_value, token],
         [token_args, bitstream]]]],
      [
       [construct_name, nat_cond],
       [encoding, 2],
       [result_sort, nat],
       [parameter_sorts,
        [
         [control, exp],
         [e1, bitstream],
         [e2, bitstream]]]],
      [
       [construct_name, computed_nat],
       [encoding, 3],
       [result_sort, nat],
       [parameter_sorts,
        [
         [arg, exp]]]],
      [
       [construct_name, error_val],
       [encoding, 4],
       [result_sort, nat],
       [parameter_sorts,
        [
         [err, error_code]]]],
      [
       [construct_name, make_nat],
       [encoding, 5],
       [result_sort, nat],
       [parameter_sorts,
        [
         [n, tdfint]]]]]]],
   [
    [sortid, ntest],
    [encoding_bits, 4],
    [has_extension, 1],
    [constructs,
     [
      [
       [construct_name, ntest_apply_token],
       [encoding, 1],
       [result_sort, ntest],
       [parameter_sorts,
        [
         [token_value, token],
         [token_args, bitstream]]]],
      [
       [construct_name, ntest_cond],
       [encoding, 2],
       [result_sort, ntest],
       [parameter_sorts,
        [
         [control, exp],
         [e1, bitstream],
         [e2, bitstream]]]],
      [
       [construct_name, equal],
       [encoding, 3],
       [result_sort, ntest],
       [parameter_sorts,
        []]],
      [
       [construct_name, greater_than],
       [encoding, 4],
       [result_sort, ntest],
       [parameter_sorts,
        []]],
      [
       [construct_name, greater_than_or_equal],
       [encoding, 5],
       [result_sort, ntest],
       [parameter_sorts,
        []]],
      [
       [construct_name, less_than],
       [encoding, 6],
       [result_sort, ntest],
       [parameter_sorts,
        []]],
      [
       [construct_name, less_than_or_equal],
       [encoding, 7],
       [result_sort, ntest],
       [parameter_sorts,
        []]],
      [
       [construct_name, not_equal],
       [encoding, 8],
       [result_sort, ntest],
       [parameter_sorts,
        []]],
      [
       [construct_name, not_greater_than],
       [encoding, 9],
       [result_sort, ntest],
       [parameter_sorts,
        []]],
      [
       [construct_name, not_greater_than_or_equal],
       [encoding, 10],
       [result_sort, ntest],
       [parameter_sorts,
        []]],
      [
       [construct_name, not_less_than],
       [encoding, 11],
       [result_sort, ntest],
       [parameter_sorts,
        []]],
      [
       [construct_name, not_less_than_or_equal],
       [encoding, 12],
       [result_sort, ntest],
       [parameter_sorts,
        []]],
      [
       [construct_name, less_than_or_greater_than],
       [encoding, 13],
       [result_sort, ntest],
       [parameter_sorts,
        []]],
      [
       [construct_name, not_less_than_and_not_greater_than],
       [encoding, 14],
       [result_sort, ntest],
       [parameter_sorts,
        []]],
      [
       [construct_name, comparable],
       [encoding, 15],
       [result_sort, ntest],
       [parameter_sorts,
        []]],
      [
       [construct_name, not_comparable],
       [encoding, 16],
       [result_sort, ntest],
       [parameter_sorts,
        []]]]]],
   [
    [sortid, otagexp],
    [encoding_bits, 0],
    [has_extension, 0],
    [constructs,
     [
      [
       [construct_name, make_otagexp],
       [encoding, 0],
       [result_sort, otagexp],
       [parameter_sorts,
        [
         [tgopt, tag_option],
         [e, exp]]]]]]],
   [
    [sortid, procprops],
    [encoding_bits, 4],
    [has_extension, 1],
    [constructs,
     [
      [
       [construct_name, procprops_apply_token],
       [encoding, 1],
       [result_sort, procprops],
       [parameter_sorts,
        [
         [token_value, token],
         [token_args, bitstream]]]],
      [
       [construct_name, procprops_cond],
       [encoding, 2],
       [result_sort, procprops],
       [parameter_sorts,
        [
         [control, exp],
         [e1, bitstream],
         [e2, bitstream]]]],
      [
       [construct_name, add_procprops],
       [encoding, 3],
       [result_sort, procprops],
       [parameter_sorts,
        [
         [arg1, procprops],
         [arg2, procprops]]]],
      [
       [construct_name, check_stack],
       [encoding, 4],
       [result_sort, procprops],
       [parameter_sorts,
        []]],
      [
       [construct_name, inline],
       [encoding, 5],
       [result_sort, procprops],
       [parameter_sorts,
        []]],
      [
       [construct_name, no_long_jump_dest],
       [encoding, 6],
       [result_sort, procprops],
       [parameter_sorts,
        []]],
      [
       [construct_name, untidy],
       [encoding, 7],
       [result_sort, procprops],
       [parameter_sorts,
        []]],
      [
       [construct_name, var_callees],
       [encoding, 8],
       [result_sort, procprops],
       [parameter_sorts,
        []]],
      [
       [construct_name, var_callers],
       [encoding, 9],
       [result_sort, procprops],
       [parameter_sorts,
        []]]]]],
   [
    [sortid, rounding_mode],
    [encoding_bits, 3],
    [has_extension, 1],
    [constructs,
     [
      [
       [construct_name, rounding_mode_apply_token],
       [encoding, 1],
       [result_sort, rounding_mode],
       [parameter_sorts,
        [
         [token_value, token],
         [token_args, bitstream]]]],
      [
       [construct_name, rounding_mode_cond],
       [encoding, 2],
       [result_sort, rounding_mode],
       [parameter_sorts,
        [
         [control, exp],
         [e1, bitstream],
         [e2, bitstream]]]],
      [
       [construct_name, round_as_state],
       [encoding, 3],
       [result_sort, rounding_mode],
       [parameter_sorts,
        []]],
      [
       [construct_name, to_nearest],
       [encoding, 4],
       [result_sort, rounding_mode],
       [parameter_sorts,
        []]],
      [
       [construct_name, toward_larger],
       [encoding, 5],
       [result_sort, rounding_mode],
       [parameter_sorts,
        []]],
      [
       [construct_name, toward_smaller],
       [encoding, 6],
       [result_sort, rounding_mode],
       [parameter_sorts,
        []]],
      [
       [construct_name, toward_zero],
       [encoding, 7],
       [result_sort, rounding_mode],
       [parameter_sorts,
        []]]]]],
   [
    [sortid, shape],
    [encoding_bits, 4],
    [has_extension, 1],
    [constructs,
     [
      [
       [construct_name, shape_apply_token],
       [encoding, 1],
       [result_sort, shape],
       [parameter_sorts,
        [
         [token_value, token],
         [token_args, bitstream]]]],
      [
       [construct_name, shape_cond],
       [encoding, 2],
       [result_sort, shape],
       [parameter_sorts,
        [
         [control, exp],
         [e1, bitstream],
         [e2, bitstream]]]],
      [
       [construct_name, bitfield],
       [encoding, 3],
       [result_sort, shape],
       [parameter_sorts,
        [
         [bf_var, bitfield_variety]]]],
      [
       [construct_name, bottom],
       [encoding, 4],
       [result_sort, shape],
       [parameter_sorts,
        []]],
      [
       [construct_name, compound],
       [encoding, 5],
       [result_sort, shape],
       [parameter_sorts,
        [
         [sz, exp]]]],
      [
       [construct_name, floating],
       [encoding, 6],
       [result_sort, shape],
       [parameter_sorts,
        [
         [fv, floating_variety]]]],
      [
       [construct_name, integer],
       [encoding, 7],
       [result_sort, shape],
       [parameter_sorts,
        [
         [var, variety]]]],
      [
       [construct_name, nof],
       [encoding, 8],
       [result_sort, shape],
       [parameter_sorts,
        [
         [n, nat],
         [s, shape]]]],
      [
       [construct_name, offset],
       [encoding, 9],
       [result_sort, shape],
       [parameter_sorts,
        [
         [arg1, alignment],
         [arg2, alignment]]]],
      [
       [construct_name, pointer],
       [encoding, 10],
       [result_sort, shape],
       [parameter_sorts,
        [
         [arg, alignment]]]],
      [
       [construct_name, proc],
       [encoding, 11],
       [result_sort, shape],
       [parameter_sorts,
        []]],
      [
       [construct_name, top],
       [encoding, 12],
       [result_sort, shape],
       [parameter_sorts,
        []]]]]],
   [
    [sortid, signed_nat],
    [encoding_bits, 3],
    [has_extension, 1],
    [constructs,
     [
      [
       [construct_name, signed_nat_apply_token],
       [encoding, 1],
       [result_sort, signed_nat],
       [parameter_sorts,
        [
         [token_value, token],
         [token_args, bitstream]]]],
      [
       [construct_name, signed_nat_cond],
       [encoding, 2],
       [result_sort, signed_nat],
       [parameter_sorts,
        [
         [control, exp],
         [e1, bitstream],
         [e2, bitstream]]]],
      [
       [construct_name, computed_signed_nat],
       [encoding, 3],
       [result_sort, signed_nat],
       [parameter_sorts,
        [
         [arg, exp]]]],
      [
       [construct_name, make_signed_nat],
       [encoding, 4],
       [result_sort, signed_nat],
       [parameter_sorts,
        [
         [neg, tdfbool],
         [n, tdfint]]]],
      [
       [construct_name, snat_from_nat],
       [encoding, 5],
       [result_sort, signed_nat],
       [parameter_sorts,
        [
         [neg, bool],
         [n, nat]]]]]]],
   [
    [sortid, sortname],
    [encoding_bits, 5],
    [has_extension, 1],
    [constructs,
     [
      [
       [construct_name, access],
       [encoding, 1],
       [result_sort, sortname],
       [parameter_sorts,
        []]],
      [
       [construct_name, al_tag],
       [encoding, 2],
       [result_sort, sortname],
       [parameter_sorts,
        []]],
      [
       [construct_name, alignment_sort],
       [encoding, 3],
       [result_sort, sortname],
       [parameter_sorts,
        []]],
      [
       [construct_name, bitfield_variety],
       [encoding, 4],
       [result_sort, sortname],
       [parameter_sorts,
        []]],
      [
       [construct_name, bool],
       [encoding, 5],
       [result_sort, sortname],
       [parameter_sorts,
        []]],
      [
       [construct_name, error_treatment],
       [encoding, 6],
       [result_sort, sortname],
       [parameter_sorts,
        []]],
      [
       [construct_name, exp],
       [encoding, 7],
       [result_sort, sortname],
       [parameter_sorts,
        []]],
      [
       [construct_name, floating_variety],
       [encoding, 8],
       [result_sort, sortname],
       [parameter_sorts,
        []]],
      [
       [construct_name, foreign_sort],
       [encoding, 9],
       [result_sort, sortname],
       [parameter_sorts,
        [
         [foreign_name, string]]]],
      [
       [construct_name, label],
       [encoding, 10],
       [result_sort, sortname],
       [parameter_sorts,
        []]],
      [
       [construct_name, nat],
       [encoding, 11],
       [result_sort, sortname],
       [parameter_sorts,
        []]],
      [
       [construct_name, ntest],
       [encoding, 12],
       [result_sort, sortname],
       [parameter_sorts,
        []]],
      [
       [construct_name, procprops],
       [encoding, 13],
       [result_sort, sortname],
       [parameter_sorts,
        []]],
      [
       [construct_name, rounding_mode],
       [encoding, 14],
       [result_sort, sortname],
       [parameter_sorts,
        []]],
      [
       [construct_name, shape],
       [encoding, 15],
       [result_sort, sortname],
       [parameter_sorts,
        []]],
      [
       [construct_name, signed_nat],
       [encoding, 16],
       [result_sort, sortname],
       [parameter_sorts,
        []]],
      [
       [construct_name, string],
       [encoding, 17],
       [result_sort, sortname],
       [parameter_sorts,
        []]],
      [
       [construct_name, tag],
       [encoding, 18],
       [result_sort, sortname],
       [parameter_sorts,
        []]],
      [
       [construct_name, transfer_mode],
       [encoding, 19],
       [result_sort, sortname],
       [parameter_sorts,
        []]],
      [
       [construct_name, token],
       [encoding, 20],
       [result_sort, sortname],
       [parameter_sorts,
        [
         [result, sortname],
         [params, sortname_list]]]],
      [
       [construct_name, variety],
       [encoding, 21],
       [result_sort, sortname],
       [parameter_sorts,
        []]]]]],
   [
    [sortid, string],
    [encoding_bits, 3],
    [has_extension, 1],
    [constructs,
     [
      [
       [construct_name, string_apply_token],
       [encoding, 1],
       [result_sort, string],
       [parameter_sorts,
        [
         [token_value, token],
         [token_args, bitstream]]]],
      [
       [construct_name, string_cond],
       [encoding, 2],
       [result_sort, string],
       [parameter_sorts,
        [
         [control, exp],
         [e1, bitstream],
         [e2, bitstream]]]],
      [
       [construct_name, concat_string],
       [encoding, 3],
       [result_sort, string],
       [parameter_sorts,
        [
         [arg1, string],
         [arg2, string]]]],
      [
       [construct_name, make_string],
       [encoding, 4],
       [result_sort, string],
       [parameter_sorts,
        [
         [arg, tdfstring]]]]]]],
   [
    [sortid, tag],
    [encoding_bits, 1],
    [has_extension, 1],
    [constructs,
     [
      [
       [construct_name, tag_apply_token],
       [encoding, 2],
       [result_sort, tag],
       [parameter_sorts,
        [
         [token_value, token],
         [token_args, bitstream]]]],
      [
       [construct_name, make_tag],
       [encoding, 1],
       [result_sort, tag],
       [parameter_sorts,
        [
         [tagno, tdfint]]]]]]],
   [
    [sortid, tagacc],
    [encoding_bits, 0],
    [has_extension, 0],
    [constructs,
     [
      [
       [construct_name, make_tagacc],
       [encoding, 0],
       [result_sort, tagacc],
       [parameter_sorts,
        [
         [tg, tag],
         [acc, access_option]]]]]]],
   [
    [sortid, tagdec],
    [encoding_bits, 2],
    [has_extension, 1],
    [constructs,
     [
      [
       [construct_name, make_id_tagdec],
       [encoding, 1],
       [result_sort, tagdec],
       [parameter_sorts,
        [
         [t_intro, tdfint],
         [acc, access_option],
         [signature, string_option],
         [x, shape]]]],
      [
       [construct_name, make_var_tagdec],
       [encoding, 2],
       [result_sort, tagdec],
       [parameter_sorts,
        [
         [t_intro, tdfint],
         [acc, access_option],
         [signature, string_option],
         [x, shape]]]],
      [
       [construct_name, common_tagdec],
       [encoding, 3],
       [result_sort, tagdec],
       [parameter_sorts,
        [
         [t_intro, tdfint],
         [acc, access_option],
         [signature, string_option],
         [x, shape]]]]]]],
   [
    [sortid, tagdec_props],
    [encoding_bits, 0],
    [has_extension, 0],
    [constructs,
     [
      [
       [construct_name, make_tagdecs],
       [encoding, 0],
       [result_sort, tagdec_props],
       [parameter_sorts,
        [
         [no_labels, tdfint],
         [tds, tagdec_list]]]]]]],
   [
    [sortid, tagdef],
    [encoding_bits, 2],
    [has_extension, 1],
    [constructs,
     [
      [
       [construct_name, make_id_tagdef],
       [encoding, 1],
       [result_sort, tagdef],
       [parameter_sorts,
        [
         [t, tdfint],
         [signature, string_option],
         [e, exp]]],
       [break, 1]],
      [
       [construct_name, make_var_tagdef],
       [encoding, 2],
       [result_sort, tagdef],
       [parameter_sorts,
        [
         [t, tdfint],
         [opt_access, access_option],
         [signature, string_option],
         [e, exp]]],
       [break, 1]],
      [
       [construct_name, common_tagdef],
       [encoding, 3],
       [result_sort, tagdef],
       [parameter_sorts,
        [
         [t, tdfint],
         [opt_access, access_option],
         [signature, string_option],
         [e, exp]]],
       [break, 1]]]]],
   [
    [sortid, tagdef_props],
    [encoding_bits, 0],
    [has_extension, 0],
    [constructs,
     [
      [
       [construct_name, make_tagdefs],
       [encoding, 0],
       [result_sort, tagdef_props],
       [parameter_sorts,
        [
         [no_labels, tdfint],
         [tds, tagdef_list]]]]]]],
   [
    [sortid, tagshacc],
    [encoding_bits, 0],
    [has_extension, 0],
    [constructs,
     [
      [
       [construct_name, make_tagshacc],
       [encoding, 0],
       [result_sort, tagshacc],
       [parameter_sorts,
        [
         [sha, shape],
         [opt_access, access_option],
         [tg_intro, tag]]]]]]],
   [
    [sortid, tokdec],
    [encoding_bits, 1],
    [has_extension, 1],
    [constructs,
     [
      [
       [construct_name, make_tokdec],
       [encoding, 1],
       [result_sort, tokdec],
       [parameter_sorts,
        [
         [tok, tdfint],
         [signature, string_option],
         [s, sortname]]]]]]],
   [
    [sortid, tokdec_props],
    [encoding_bits, 0],
    [has_extension, 0],
    [constructs,
     [
      [
       [construct_name, make_tokdecs],
       [encoding, 0],
       [result_sort, tokdec_props],
       [parameter_sorts,
        [
         [tds, tokdec_list]]]]]]],
   [
    [sortid, tokdef],
    [encoding_bits, 1],
    [has_extension, 1],
    [constructs,
     [
      [
       [construct_name, make_tokdef],
       [encoding, 1],
       [result_sort, tokdef],
       [parameter_sorts,
        [
         [tok, tdfint],
         [signature, string_option],
         [def, bitstream]]]]]]],
   [
    [sortid, tokdef_props],
    [encoding_bits, 0],
    [has_extension, 0],
    [constructs,
     [
      [
       [construct_name, make_tokdefs],
       [encoding, 0],
       [result_sort, tokdef_props],
       [parameter_sorts,
        [
         [no_labels, tdfint],
         [tds, tokdef_list]]]]]]],
   [
    [sortid, token],
    [encoding_bits, 2],
    [has_extension, 1],
    [constructs,
     [
      [
       [construct_name, token_apply_token],
       [encoding, 1],
       [result_sort, token],
       [parameter_sorts,
        [
         [token_value, token],
         [token_args, bitstream]]]],
      [
       [construct_name, make_tok],
       [encoding, 2],
       [result_sort, token],
       [parameter_sorts,
        [
         [tokno, tdfint]]]],
      [
       [construct_name, use_tokdef],
       [encoding, 3],
       [result_sort, token],
       [parameter_sorts,
        [
         [tdef, bitstream]]]]]]],
   [
    [sortid, token_defn],
    [encoding_bits, 1],
    [has_extension, 1],
    [constructs,
     [
      [
       [construct_name, token_definition],
       [encoding, 1],
       [result_sort, token_defn],
       [parameter_sorts,
        [
         [result_sort, sortname],
         [tok_params, tokformals_list]]]]]]],
   [
    [sortid, tokformals],
    [encoding_bits, 0],
    [has_extension, 0],
    [constructs,
     [
      [
       [construct_name, make_tokformals],
       [encoding, 0],
       [result_sort, tokformals],
       [parameter_sorts,
        [
         [sn, sortname],
         [tk, tdfint]]]]]]],
   [
    [sortid, transfer_mode],
    [encoding_bits, 3],
    [has_extension, 1],
    [constructs,
     [
      [
       [construct_name, transfer_mode_apply_token],
       [encoding, 1],
       [result_sort, transfer_mode],
       [parameter_sorts,
        [
         [token_value, token],
         [token_args, bitstream]]]],
      [
       [construct_name, transfer_mode_cond],
       [encoding, 2],
       [result_sort, transfer_mode],
       [parameter_sorts,
        [
         [control, exp],
         [e1, bitstream],
         [e2, bitstream]]]],
      [
       [construct_name, add_modes],
       [encoding, 3],
       [result_sort, transfer_mode],
       [parameter_sorts,
        [
         [md1, transfer_mode],
         [md2, transfer_mode]]]],
      [
       [construct_name, overlap],
       [encoding, 4],
       [result_sort, transfer_mode],
       [parameter_sorts,
        []]],
      [
       [construct_name, standard_transfer_mode],
       [encoding, 5],
       [result_sort, transfer_mode],
       [parameter_sorts,
        []]],
      [
       [construct_name, trap_on_nil],
       [encoding, 6],
       [result_sort, transfer_mode],
       [parameter_sorts,
        []]],
      [
       [construct_name, volatile],
       [encoding, 7],
       [result_sort, transfer_mode],
       [parameter_sorts,
        []]],
      [
       [construct_name, complete],
       [encoding, 8],
       [result_sort, transfer_mode],
       [parameter_sorts,
        []]]]]],
   [
    [sortid, unique],
    [encoding_bits, 0],
    [has_extension, 0],
    [constructs,
     [
      [
       [construct_name, make_unique],
       [encoding, 0],
       [result_sort, unique],
       [parameter_sorts,
        [
         [text, tdfident_list]]]]]]],
   [
    [sortid, unit],
    [encoding_bits, 0],
    [has_extension, 0],
    [constructs,
     [
      [
       [construct_name, make_unit],
       [encoding, 0],
       [result_sort, unit],
       [parameter_sorts,
        [
         [local_vars, tdfint_list],
         [lks, links_list],
         [properties, bytestream]]],
       [break, 1]]]]],
   [
    [sortid, variety],
    [encoding_bits, 2],
    [has_extension, 1],
    [constructs,
     [
      [
       [construct_name, var_apply_token],
       [encoding, 1],
       [result_sort, variety],
       [parameter_sorts,
        [
         [token_value, token],
         [token_args, bitstream]]]],
      [
       [construct_name, var_cond],
       [encoding, 2],
       [result_sort, variety],
       [parameter_sorts,
        [
         [control, exp],
         [e1, bitstream],
         [e2, bitstream]]]],
      [
       [construct_name, var_limits],
       [encoding, 3],
       [result_sort, variety],
       [parameter_sorts,
        [
         [lower_bound, signed_nat],
         [upper_bound, signed_nat]]]],
      [
       [construct_name, var_width],
       [encoding, 4],
       [result_sort, variety],
       [parameter_sorts,
        [
         [signed_width, bool],
         [width, nat]]]]]]],
   [
    [sortid, version_props],
    [encoding_bits, 0],
    [has_extension, 0],
    [constructs,
     [
      [
       [construct_name, make_versions],
       [encoding, 0],
       [result_sort, version_props],
       [parameter_sorts,
        [
         [version_info, version_list]]]]]]],
   [
    [sortid, version],
    [encoding_bits, 1],
    [has_extension, 1],
    [constructs,
     [
      [
       [construct_name, make_version],
       [encoding, 1],
       [result_sort, version],
       [parameter_sorts,
        [
         [major_version, tdfint],
         [minor_version, tdfint]]]],
      [
       [construct_name, user_info],
       [encoding, 2],
       [result_sort, version],
       [parameter_sorts,
        [
         [information, string]]]]]]]]],
 [lists,
  [enum_values_list,
   diag_type_list,
   diag_field_list,
   exp_list,
   error_code_list,
   otagexp_list,
   caselim_list,
   label_list,
   tagshacc_list,
   sortname_list,
   tokformals_list]],
 [slists,
  [diag_descriptor_list,
   diag_tagdef_list,
   linkinfo_list,
   al_tagdef_list,
   tdfident_list,
   capsule_link_list,
   extern_link_list,
   group_list,
   linkextern_list,
   unit_list,
   link_list,
   tagdec_list,
   tagdef_list,
   tokdec_list,
   tokdef_list,
   tdfint_list,
   links_list,
   version_list]],
 [options,
  [exp_option,
   procprops_option,
   nat_option,
   access_option,
   tagacc_option,
   tag_option,
   string_option]],
 [linkable_entities,
  [
   [
    [entity_sort, diag_tag],
    [entity_identifier, diagtag]],
   [
    [entity_sort, al_tag],
    [entity_identifier, alignment]],
   [
    [entity_sort, tag],
    [entity_identifier, tag]],
   [
    [entity_sort, token],
    [entity_identifier, token]]]],
 [kinds_of_unit,
  [
   [
    [unit_elements, diag_unit],
    [unit_identifier, diagdef]],
   [
    [unit_elements, diag_type_unit],
    [unit_identifier, diagtype]],
   [
    [unit_elements, linkinfo_props],
    [unit_identifier, linkinfo]],
   [
    [unit_elements, al_tagdef_props],
    [unit_identifier, aldef]],
   [
    [unit_elements, tagdec_props],
    [unit_identifier, tagdec]],
   [
    [unit_elements, tagdef_props],
    [unit_identifier, tagdef]],
   [
    [unit_elements, tokdec_props],
    [unit_identifier, tokdec]],
   [
    [unit_elements, tokdef_props],
    [unit_identifier, tokdef]],
   [
    [unit_elements, version_props],
    [unit_identifier, versions]]]],
 [graph_edges,
  [
   [
    [edge_sort, al_tag],
    [edge_constructor, make_al_tag]],
   [
    [edge_sort, diag_tag],
    [edge_constructor, make_diag_tag]],
   [
    [edge_sort, label],
    [edge_constructor, make_label]],
   [
    [edge_sort, tag],
    [edge_constructor, make_tag]],
   [
    [edge_sort, token],
    [edge_constructor, make_tok]]]],
 [major_version, 4],
 [minor_version, 0]]