anchor.diff:  
   make_expr(A) ->
       {conditional, A}.
  +
  +make_column({word, FieldName}, {DataType, _}) ->
  +    #riak_field_v1{
  +       name = FieldName,
  +       type = DataType,
  +       optional = true}.
  +
  +make_column({word, FieldName}, {DataType, _}, {not_null, _}) ->
  +    #riak_field_v1{
  +       name = FieldName,
  +       type = DataType,
  +       optional = false}.
  +
  +make_key_definition({partition_key, _}, {word, FieldName}) ->
  +    #partition_key_v1{
  +       ast = [#param_v1{
  +                 name = FieldName
  +                }]}.
  +
  +make_table_definition({word, BucketName}, Contents) ->
  +    {table_definition, BucketName, Contents}.
  +
  +make_table_element_list({table_element_list, A}, B) ->
  +    {table_element_list, A ++ [B]};
  +make_table_element_list(A, B) ->
  +    {table_element_list, [A, B]}.
  
positive.code: div_
  comma
  chars
  .
  
  Rootsymbol Query.
  Endsymbol '$end'.
  
  Query -> Select limit int : add_limit('$1', '$2', '$3').
  Query -> Select           : '$1'.
  
negative.code: Val
  Vals
  Funcall
  TableDefinition
  TableContentsSource
  TableElementList
  TableElements
  TableElement
  ColumnDefinition
  ColumnConstraint
  KeyDefinition
  DataType
  .
  
  Terminals
  