anchor.diff:  
   NOW : ('N'|'n')('O'|'o')('W'|'w');
   
  -MD5 : ('M'|'m')('M'|'m')'5';
  +MD5 : ('M'|'m')('D'|'d')'5';
   
   SHA1 : ('S'|'s')('H'|'h')('A'|'a')'1';
   
  
positive.code: 
  STRENDS : ('S'|'s')('T'|'t')('R'|'r')('E'|'e')('N'|'n')('D'|'d')('S'|'s');
  
  YEAR : ('Y'|'y')('E'|'e')('A'|'a')('R'|'r');
  
  MONTH : ('M'|'m')('O'|'o')('N'|'n')('T'|'t')('H'|'h');
  
negative.code: 
  query
      : prologue (selectQuery | constructQuery | describeQuery | askQuery) bindingsClause EOF -> ^(QUERY prologue selectQuery* constructQuery* describeQuery* askQuery*) bindingsClause*
      | update (SEMICOLON update?)* EOF -> ^(UPDATE update+)
      ;
  
  prologue
  