anchor.diff:  make_table_element_list(A, B) ->
       {table_element_list, [A, B]}.
   
  -make_key_field_list(A, {key_field_list, B}) ->
  -    {key_field_list, [A] ++ B};
  -make_key_field_list(A, B) ->
  -    {key_field_list, [A, B]}.
  -
  -extract_key_field_list({key_field_list, []}, Extracted) ->
  +extract_key_field_list({list, []}, Extracted) ->
       lists:reverse(Extracted);
  -extract_key_field_list({key_field_list, [{word, Field} | Rest]}, Extracted) ->
  +extract_key_field_list({list, [Field | Rest]}, Extracted) ->
       [#param_v1{name = Field} |
  -     extract_key_field_list({key_field_list, Rest}, Extracted)].
  +     extract_key_field_list({list, Rest}, Extracted)].
   
   make_table_definition({word, BucketName}, Contents) ->
       PartitionKey = find_partition_key(Contents),
  
positive.code: KeyDefinition ->
      local_key openb KeyFieldList closeb : make_key_definition('$1', '$3').
  
  KeyFieldList -> KeyField comma KeyFieldList : make_key_field_list('$1', '$3').
  KeyFieldList -> KeyField : make_key_field_list('$1', {key_field_list, []}).
  
  KeyField -> Word : '$1'.
  
  Erlang code.
  
  
negative.code: timestamp
  varchar
  local_key
  modfun
  atom
  .
  
  Rootsymbol Statement.
  