anchor.diff:  
   ID  :	('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'0'..'9'|'_')*
       ;
  +    
  +REF
  +	:	'#' ( '0' .. '9' )+
  +	;
   
   fragment
   HEX_DIGIT : ('0'..'9'|'a'..'f'|'A'..'F') ;
  
positive.code: 	;
  
  and_tail 
  	: AND! term^
  	;	
  
  
  expr
  	: term
  		(	and_tail+ -> ^('&' term and_tail+)
  		|	or_tail+ -> ^('|' term or_tail+)
  		)?
  	;
  
  
negative.code: 
  
  tokens {
  	TOK='tok';
  	ID;
  	AND='&';
  	OR='|';
  	EQ='=';
  	NEQ='!=';
  	DOMINANCE='>';
  	POINTING='->';
  	PRECEDENCE='.';
  	IDENT_COV='_=_';
  	INCLUSION='_i_';
  	OVERLAP='_o_';
  	LEFT_ALIGN='_l_';
  	RIGHT_ALIGN='_r_';
  	LEFT_CHILD='>@l';
  	RIGHT_CHILD='>@r';
  	COMMON_PARENT='$';
  	REF;
  	DIGITS;
  }
  
  @parser::header {package annis.ql;}
  