anchor.diff:  
   MINUTES : ('M'|'m')('I'|'i')('N'|'n')('U'|'u')('T'|'t')('E'|'e')('S'|'s');
   
  -SECONDS : ('S'|'s')('E'|'e')('C'|'c')('O'|'o')('N'|'n')('M'|'m')('S'|'s');	
  +SECONDS : ('S'|'s')('E'|'e')('C'|'c')('O'|'o')('N'|'n')('D'|'d')('S'|'s');	
   
   TIMEZONE :  ('T'|'t')('I'|'i')('M'|'m')('E'|'e')('Z'|'z')('O'|'o')('N'|'n')('E'|'e');
   
  
positive.code:     : var -> ^(VAR var) 
      | OPEN_BRACE expression AS var CLOSE_BRACE -> ^(AS expression var)
      ;
    
  constructQuery
      : CONSTRUCT constructTemplate datasetClause* whereClause solutionModifier -> ^(CONSTRUCT constructTemplate* datasetClause* whereClause* solutionModifier*)
      | CONSTRUCT datasetClause* WHERE OPEN_CURLY_BRACE triplesTemplate? CLOSE_CURLY_BRACE solutionModifier -> ^(CONSTRUCT datasetClause* ^(WHERE triplesTemplate*) solutionModifier*)
      ;
  
  describeQuery
  
negative.code:     | UCASE OPEN_BRACE expression CLOSE_BRACE -> ^(UCASE expression)
      | LCASE OPEN_BRACE expression CLOSE_BRACE -> ^(LCASE expression)
      | ENCODE_FOR_URI OPEN_BRACE expression CLOSE_BRACE -> ^(ENCODE_FOR_URI expression)
      | CONTAINS OPEN_BRACE expression COMMA expression CLOSE_BRACE -> ^(CONTAINS expression expression)
      | STRSTARTS OPEN_BRACE expression COMMA expression CLOSE_BRACE -> ^(STRSTARTS expression expression)
      | STRENDS OPEN_BRACE expression COMMA expression CLOSE_BRACE -> ^(STRENDS expression expression)
      | STRBEFORE OPEN_BRACE expression COMMA expression CLOSE_BRACE -> ^(STRBEFORE expression expression)
      | STRAFTER OPEN_BRACE expression COMMA expression CLOSE_BRACE -> ^(STRAFTER expression expression)
      | REPLACE OPEN_BRACE expression COMMA expression COMMA expression CLOSE_BRACE -> ^(REPLACE expression expression expression)
      | YEAR OPEN_BRACE expression CLOSE_BRACE -> ^(YEAR expression)
      | MONTH OPEN_BRACE expression CLOSE_BRACE -> ^(MONTH expression)
      | DAY OPEN_BRACE expression CLOSE_BRACE -> ^(DAY expression)
  