
  TYPE
    oct$object_library = record
      file: clt$file,
      file_identifier: amt$file_identifier,
      sequence: ^SEQ ( * ),

      number_of_modules: integer,
      module_list:  ^oct$module_list,
      record_analysis: ^oct$record_analysis,
    recend;

  CONST
    occ$head_of_list = 0;

  TYPE
    oct$module_list = array [occ$head_of_list .. *] of oct$module_item,

    oct$module_item = record
      name: pmt$program_name,
      link: ^oct$module_item,

      load_module_header: ^llt$load_module_header,
      interpretive_records: ^llt$object_text_descriptor,
      record_analysis: ^oct$record_analysis,
    recend;

  TYPE
    oct$record_analysis = record
      total: integer,
      kind: array [llt$object_record_kind] of record
        number: integer,
        number_of_items: integer,
      recend,

      sections: ^oct$sections,
      performance_problems: oct$anaol_performance_problems,
    recend;

  TYPE
    oct$sections = array [0 .. *] of oct$section,

    oct$section = record
      unallocated_common_block: boolean,
      allotted: boolean,
      allotted_section: ost$relative_pointer,
      segment_definition: boolean,
      definition: ^llt$section_definition,
      bytes_initialized: integer,
      externals_in: integer,
      addresses_in: integer,
      addresses_to: integer,
      internal_binding_section_ptrs: integer,
    recend;
?? EJECT ??

  TYPE
    oct$anaol_display_option = (occ$display_number_of_modules, occ$display_record_analysis,
                                occ$display_section_analysis, occ$count_internal_binding_refs),

    oct$anaol_display_options = set of oct$anaol_display_option;

  TYPE
    oct$anaol_performance_problem = (occ$symbol_tables, occ$line_tables, occ$parameter_checking,
      occ$runtime_checking, occ$runtime_library_calls, occ$runtime_libraries,
      occ$opt_debug, occ$opt_low, occ$object_module, occ$load_module, occ$bound_module,
      occ$unreferenced_sections, occ$multiple_entry_points, occ$supplemental_debug_tables),

    oct$anaol_performance_problems = set of oct$anaol_performance_problem;

  TYPE
    oct$anaol_performance_option = (occ$display_description, occ$display_module_names,
          occ$display_commands),

    oct$anaol_performance_options = set of oct$anaol_performance_option;


  TYPE
    oct$performance_problem_count = array [oct$anaol_performance_problem] of 0 .. 0ffffff(16);


  TYPE
    oct$section_kinds = set of llt$section_kind;

  CONST
    occ$any_section_name = '******* Any Section Name ***** ';


?? EJECT ??
*copyc oce$anaol_exceptions

?? PUSH (LISTEXT := ON) ??
*copyc llt$object_module
*copyc llt$load_module
*copyc clt$file
*copyc amt$file_identifier
*copyc osd$virtual_address
?? POP ??
