anchor.diff:  MINUS	: '-';
   
   TERMSTRING : TermChar+ ;
  +FIELDNAME : FieldNameChar+ ;
   
   WS : [ \t]+ -> skip;
   
  
positive.code: must:  PLUS;
  mustNot: MINUS;
  
  termQuery: TERMSTRING;
  
  fragment
  TermChar :   [:a-zA-Z];
  
  AND 	: 'AND';
  OR  	: 'OR';
  
negative.code: 	| (booleanPrefix? termQuery ')'+)
  	;
  
  termQuery:
  	(fieldName ':')? term
  	;
  
  booleanOperator: opAnd | opOr;
  booleanPrefix: must | mustNot;
  
  