
  CONST
    clc$max_array_tokens = 5000;

  TYPE
    clt$format_token_type = (clc$label, clc$unassigned, clc$parameter_name,
          clc$reserved_name, clc$node, clc$file_or_var_begin,
          clc$file_or_var_end, clc$function_begin, clc$function_end,
          clc$parameter_begin, clc$parameter_end, clc$value_set_begin,
          clc$value_set_end, clc$value_begin, clc$value_end, clc$tree_begin,
          clc$tree_end, clc$translated_function);

  TYPE
    clt$format_token = record
      string_ptr: ^string ( * ),
      clt_kind: clt$lexical_unit_kind,
      token_size: clt$string_size,
      case format_type: clt$format_token_type of
      = clc$tree_begin, clc$node, clc$tree_end =
        node_value: clt$f_node_value,
      casend,
    recend;

  TYPE
    clt$format_token_array = array [1 .. clc$max_array_tokens] of
          clt$format_token,
    clt$token_array_index = 0 .. clc$max_array_tokens;

*copyc clt$f_node_value
*copyc clt$lexical_unit_kind
*copyc clt$string_size
