anchor.diff:  SLASH: '/';
   PERCENT: '%';
   CONCAT: '||';
  -QUESTION_MARK : '?';
  +QUESTION_MARK: '?';
   
   STRING
       : '\'' ( ~'\'' | '\'\'' )* '\''
  
positive.code: // its a correct literal when the AST is being constructed. This
  // allows us to provide more meaningful error messages to the user
  BINARY_LITERAL
      :  'X\'' (~'\'')* '\''
      ;
  
  INTEGER_VALUE
  
negative.code:         (privilege (',' privilege)* | ALL PRIVILEGES)
          ON (SCHEMA | TABLE)? qualifiedName
          FROM grantee=principal                                         #revoke
      | SHOW GRANTS (ON TABLE? qualifiedName)?                           #showGrants
      | EXPLAIN ('(' explainOption (',' explainOption)* ')')? statement  #explain
      | EXPLAIN ANALYZE VERBOSE? statement                               #explainAnalyze
      | SHOW CREATE TABLE qualifiedName                                  #showCreateTable
  