{ PROCEDURE pdt (
{   recorded_vsn, rv, vsn, v: any of
{       key
{         all
{       keyend
{       list of name 1..6
{     anyend = all
{   output, o: file = $output
{   delay_between_unit_tests, dbut: (BY_NAME, ADVANCED) integer 0..3600 = 0
{   skip_units_conditions, skip_units_condition, suc: (BY_NAME, ADVANCED) list of key
{       (all, a)
{       (none, n)
{       (restoring, r)
{       (force_format, ff)
{       (parity_protection_disabled, ppd)
{     keyend = (restoring)
{   status)

?? PUSH (LISTEXT := ON) ??
?? FMT (FORMAT := OFF) ??

  VAR
    pdt: [STATIC, READ, cls$declaration_section] record
      header: clt$pdt_header,
      names: array [1 .. 12] of clt$pdt_parameter_name,
      parameters: array [1 .. 5] of clt$pdt_parameter,
      type1: record
        header: clt$type_specification_header,
        qualifier: clt$union_type_qualifier,
        type_size_1: clt$type_specification_size,
        element_type_spec_1: record
          header: clt$type_specification_header,
          qualifier: clt$keyword_type_qualifier,
          keyword_specs: array [1 .. 1] of clt$keyword_specification,
        recend,
        type_size_2: clt$type_specification_size,
        element_type_spec_2: record
          header: clt$type_specification_header,
          qualifier: clt$list_type_qualifier_v2,
          element_type_spec: record
            header: clt$type_specification_header,
            qualifier: clt$name_type_qualifier,
          recend,
        recend,
        default_value: string (3),
      recend,
      type2: record
        header: clt$type_specification_header,
        default_value: string (7),
      recend,
      type3: record
        header: clt$type_specification_header,
        qualifier: clt$integer_type_qualifier,
        default_value: string (1),
      recend,
      type4: record
        header: clt$type_specification_header,
        qualifier: clt$list_type_qualifier_v2,
        element_type_spec: record
          header: clt$type_specification_header,
          qualifier: clt$keyword_type_qualifier,
          keyword_specs: array [1 .. 10] of clt$keyword_specification,
        recend,
        default_value: string (11),
      recend,
      type5: record
        header: clt$type_specification_header,
      recend,
    recend := [
    [1,
    [101, 3, 5, 14, 58, 7, 469],
    clc$command, 12, 5, 0, 2, 0, 0, 5, ''], [
    ['DBUT                           ',clc$abbreviation_entry, 3],
    ['DELAY_BETWEEN_UNIT_TESTS       ',clc$nominal_entry, 3],
    ['O                              ',clc$abbreviation_entry, 2],
    ['OUTPUT                         ',clc$nominal_entry, 2],
    ['RECORDED_VSN                   ',clc$nominal_entry, 1],
    ['RV                             ',clc$alias_entry, 1],
    ['SKIP_UNITS_CONDITION           ',clc$alias_entry, 4],
    ['SKIP_UNITS_CONDITIONS          ',clc$nominal_entry, 4],
    ['STATUS                         ',clc$nominal_entry, 5],
    ['SUC                            ',clc$abbreviation_entry, 4],
    ['V                              ',clc$abbreviation_entry, 1],
    ['VSN                            ',clc$alias_entry, 1]],
    [
{ PARAMETER 1
    [5, clc$normal_usage_entry, clc$non_secure_parameter,
    $clt$parameter_spec_methods[clc$specify_by_name, clc$specify_positionally],
    clc$pass_by_value, clc$immediate_evaluation, clc$standard_parameter_checking, 85,
  clc$optional_default_parameter, 0, 3],
{ PARAMETER 2
    [4, clc$normal_usage_entry, clc$non_secure_parameter,
    $clt$parameter_spec_methods[clc$specify_by_name, clc$specify_positionally],
    clc$pass_by_value, clc$immediate_evaluation, clc$standard_parameter_checking, 3,
  clc$optional_default_parameter, 0, 7],
{ PARAMETER 3
    [2, clc$advanced_usage_entry, clc$non_secure_parameter,
    $clt$parameter_spec_methods[clc$specify_by_name],
    clc$pass_by_value, clc$immediate_evaluation, clc$standard_parameter_checking, 20,
  clc$optional_default_parameter, 0, 1],
{ PARAMETER 4
    [8, clc$advanced_usage_entry, clc$non_secure_parameter,
    $clt$parameter_spec_methods[clc$specify_by_name],
    clc$pass_by_value, clc$immediate_evaluation, clc$standard_parameter_checking, 393,
  clc$optional_default_parameter, 0, 11],
{ PARAMETER 5
    [9, clc$normal_usage_entry, clc$non_secure_parameter,
    $clt$parameter_spec_methods[clc$specify_by_name],
    clc$pass_by_reference, clc$immediate_evaluation, clc$standard_parameter_checking, 3,
  clc$optional_parameter, 0, 0]],
{ PARAMETER 1
    [[1, 0, clc$union_type], [[clc$keyword_type, clc$list_type],
    FALSE, 2],
    44, [[1, 0, clc$keyword_type], [1], [
      ['ALL                            ', clc$nominal_entry, clc$normal_usage_entry, 1]]
      ],
    21, [[1, 0, clc$list_type], [5, 1, clc$max_list_size, 0, FALSE, FALSE],
        [[1, 0, clc$name_type], [1, 6]]
      ]
    ,
    'all'],
{ PARAMETER 2
    [[1, 0, clc$file_type],
    '$output'],
{ PARAMETER 3
    [[1, 0, clc$integer_type], [0, 3600, 10],
    '0'],
{ PARAMETER 4
    [[1, 0, clc$list_type], [377, 1, clc$max_list_size, 0, FALSE, FALSE],
      [[1, 0, clc$keyword_type], [10], [
      ['A                              ', clc$abbreviation_entry, clc$normal_usage_entry, 1],
      ['ALL                            ', clc$nominal_entry, clc$normal_usage_entry, 1],
      ['FF                             ', clc$abbreviation_entry, clc$normal_usage_entry, 4],
      ['FORCE_FORMAT                   ', clc$nominal_entry, clc$normal_usage_entry, 4],
      ['N                              ', clc$abbreviation_entry, clc$normal_usage_entry, 2],
      ['NONE                           ', clc$nominal_entry, clc$normal_usage_entry, 2],
      ['PARITY_PROTECTION_DISABLED     ', clc$nominal_entry, clc$normal_usage_entry, 5],
      ['PPD                            ', clc$abbreviation_entry, clc$normal_usage_entry, 5],
      ['R                              ', clc$abbreviation_entry, clc$normal_usage_entry, 3],
      ['RESTORING                      ', clc$nominal_entry, clc$normal_usage_entry, 3]]
      ]
    ,
    '(restoring)'],
{ PARAMETER 5
    [[1, 0, clc$status_type]]];

?? FMT (FORMAT := ON) ??
?? POP ??

    CONST
      p$recorded_vsn = 1,
      p$output = 2,
      p$delay_between_unit_tests = 3,
      p$skip_units_conditions = 4,
      p$status = 5;

    VAR
      pvt: array [1 .. 5] of clt$parameter_value;

