
  TYPE
    clt$type_information = record
      case kind: clt$type_kind of
      = clc$application_type =
        balance_brackets: boolean,
      = clc$array_type =
        array_element_type_information: ^clt$type_information,
        case array_bounds_defined: boolean of
        = TRUE =
          bounds: clt$array_bounds,
        = FALSE =
          ,
        casend,
      = clc$boolean_type =
        ,
      = clc$cobol_name_type =
        ,
      = clc$command_reference_type =
        ,
      = clc$data_name_type =
        ,
      = clc$date_time_type =
        date_and_or_time: clt$date_and_or_time,
        tenses: clt$date_time_tenses,
      = clc$entry_point_reference_type =
        ,
*IF NOT $true(osv$unix)
      = clc$file_type =
*ELSE
      = {clc$file_type} clc$nos_ve_file_type, clc$unix_file_type =
*IFEND
        ,
      = clc$integer_type =
        min_integer_value: integer,
        max_integer_value: integer,
        default_radix: 2 .. 16,
      = clc$keyword_type =
        keyword_specifications: ^clt$keyword_specifications,
      = clc$list_type =
        list_element_type_information: ^clt$type_information,
        min_list_size: clt$list_size,
        max_list_size: clt$list_size,
        list_rest: boolean,
        defer_expansion: boolean,
      = clc$lock_type =
        ,
      = clc$name_type =
        min_name_size: ost$name_size,
        max_name_size: ost$name_size,
      = clc$network_title_type =
        ,
      = clc$program_name_type =
        ,
      = clc$range_type =
        range_element_type_information: ^clt$type_information,
      = clc$real_type =
        min_real_value: longreal,
        max_real_value: longreal,
      = clc$record_type =
        fields_information: ^array [1 .. * ] of clt$field_information,
      = clc$scu_line_identifier_type =
        ,
      = clc$statistic_code_type =
        ,
      = clc$status_type =
        ,
      = clc$status_code_type =
        ,
      = clc$string_type =
        min_string_size: clt$string_size,
        max_string_size: clt$string_size,
        literal: boolean,
      = clc$string_pattern_type =
        ,
      = clc$time_increment_type =
        ,
      = clc$time_zone_type =
        ,
      = clc$type_specification_type =
        ,
      = clc$union_type =
        members_information: ^array [1 .. * ] of clt$type_information,
      casend,
    recend;

*copyc clt$array_bounds
*copyc clt$date_and_or_time
*copyc clt$date_time_tenses
*copyc clt$keyword_specifications
*copyc clt$field_information
*copyc clt$list_size
*copyc clt$string_size
*copyc clt$type_kind
*copyc ost$name
