anchor.diff:  #include "cql3/operation_impl.hh"
   #include "cql3/error_listener.hh"
   #include "cql3/single_column_relation.hh"
  +#include "cql3/token_relation.hh"
   #include "cql3/cql3_type.hh"
   #include "cql3/cf_name.hh"
   #include "cql3/maps.hh"
  
positive.code: 
  relation[std::vector<cql3::relation_ptr>& clauses]
      : name=cident type=relationType t=term { $clauses.emplace_back(::make_shared<cql3::single_column_relation>(std::move(name), *type, std::move(t))); }
  #if 0
      | K_TOKEN l=tupleOfIdentifiers type=relationType t=term
          { $clauses.add(new TokenRelation(l, type, t)); }
  #endif
      | name=cident K_IN marker=inMarker
          { $clauses.emplace_back(make_shared<cql3::single_column_relation>(std::move(name), cql3::operator_type::IN, std::move(marker))); }
      | name=cident K_IN in_values=singleColumnInValues
  
negative.code:     | ':' name=ident { $marker = new_in_bind_variables(name); }
      ;
  
  tupleOfIdentifiers returns [std::vector<::shared_ptr<cql3::column_identifier::raw>> ids]
      : '(' n1=cident { $ids.push_back(n1); } (',' ni=cident { $ids.push_back(ni); })* ')'
      ;
  
  singleColumnInValues returns [std::vector<::shared_ptr<cql3::term::raw>> terms]
      : '(' ( t1 = term { $terms.push_back(t1); } (',' ti=term { $terms.push_back(ti); })* )? ')'
  