anchor.diff:  
   LETTER : [a-zA-Z] ;
   
  -IDENTIFIER
  +identifier
     : NAME
     | STRING
     ;
  
positive.code: 
  multiSelectHash : '{' keyvalExpr (',' keyvalExpr)* '}' ;
  
  keyvalExpr : IDENTIFIER ':' expression ;
  
  bracketSpecifier
    : '[' (SIGNED_INT | '*' | SLICE_EXPRESSION) ']'
  
negative.code: query : expression EOF ;
  
  expression
    : expression '.' (identifier | multiSelectList | multiSelectHash | functionExpression | '*') # chainExpression
    | expression bracketSpecifier # bracketedExpression
    | bracketSpecifier # bracketExpression
    | expression '||' expression # orExpression
    | identifier # identifierExpression
    | expression '&&' expression # andExpression
    | expression COMPARATOR expression # comparisonExpression
    | '!' expression # notExpression
  