anchor.diff:      | '(' e1=relation ')' { $e = std::move(e1); }
       ;
   
  -inMarker returns [expression marker]
  -    : QMARK { $marker = new_bind_variables(nullptr); }
  -    | ':' name=ident { $marker = new_bind_variables(name); }
  -    ;
  -
   tupleOfIdentifiers returns [tuple_constructor tup]
       : '(' n1=cident { $tup.elements.push_back(unresolved_identifier{std::move(n1)}); } (',' ni=cident { $tup.elements.push_back(unresolved_identifier{std::move(ni)}); })* ')'
       ;
  
positive.code: jsonValue returns [expression value]
      :
      | s=STRING_LITERAL { $value = untyped_constant{untyped_constant::string, $s.text}; }
      | ':' id=ident     { $value = new_bind_variables(id); }
      | QMARK            { $value = new_bind_variables(shared_ptr<cql3::column_identifier>{}); }
      ;
  
  /**
  
negative.code:         { $e = binary_operator(token{std::move(l.elements)}, type, std::move(t)); }
      | name=cident K_IS K_NOT K_NULL {
            $e = binary_operator(unresolved_identifier{std::move(name)}, oper_t::IS_NOT, null()); }
      | name=cident K_IN marker1=marker
          { $e = binary_operator(unresolved_identifier{std::move(name)}, oper_t::IN, std::move(marker1)); }
      | name=cident K_IN in_values=singleColumnInValues
          { $e = binary_operator(unresolved_identifier{std::move(name)}, oper_t::IN,
          collection_constructor {
  