
  TYPE
    clt$value_qualifier = record
      parse: ^clt$parse_state,
      case kind: clt$value_qualifier_kind of
      = clc$array_subscript_qualifier =
        array_subscript: clt$array_bound,
        bounds: clt$array_bounds,
      = clc$field_qualifier, clc$unspecified_field_qualifier =
        field_name: clt$field_name,
        case record_kind: clt$value_qualifier_records of
        = clc$command_reference_record .. clc$entry_point_ref_record,
              clc$scu_line_ident_record .. clc$unknown_record =
          ,
        = clc$record_record =
          field_names: ^clt$pdt_parameter_names,
        casend,
      = clc$invalid_field_qualifier =
        invalid_field_status: ^ost$status,
      = clc$invalid_subscript_qual =
        invalid_subscript_status: ^ost$status,
        case subscript_defined: boolean of
        = TRUE =
         invalid_subscript: integer,
        casend,
      = clc$invalid_substring_qual =
        invalid_index: integer,
        invalid_separator: char,
        invalid_substring_status: ^ost$status,
        case size_defined: boolean of
        = TRUE =
         invalid_size: integer,
        casend,
      = clc$list_subscript_qualifier =
        list_subscript: clt$array_bound,
      = clc$range_qualifier =
        low_or_high: clt$low_or_high,
      = clc$substring_qualifier =
        index: clt$array_bound,
        size: clt$string_size,
        all_specified: boolean,
      = clc$unspecified_subscript_qual =
        unspecified_subscript: integer,
      = clc$unspecified_substring_qual =
        unspecified_index: integer,
        unspecified_size: integer,
        unspecified_all_found: boolean,
        unspecified_separator: char,
      casend,
    recend;

*copyc clt$array_bounds
*copyc clt$field_name
*copyc clt$low_or_high
*copyc clt$pdt_parameter_names
*copyc clt$string_index
*copyc clt$string_size
*copyc clt$value_qualifier_kind
*copyc clt$value_qualifier_records
*copyc ost$status
