anchor.diff:  
   comparison_expr
   	: string_expr comparison_operator (string_expr)
  -	| boolean_expression ('=' | '<>') (boolean_expression)
  -	| datetime_expression comparison_operator (datetime_expression)
  +	| boolean_expr ('=' | '<>') (boolean_expr)
  +	| datetime_expr comparison_operator (datetime_expr)
   	| entity_expr ('=' | '<>') (entity_expr)
   	| arithmetic_expr comparison_operator (arithmetic_expr);
   
  
positive.code: 	;
  
  string_primary
  	: state_field_path_expression
  	| string_literal
  	| functions_returning_strings
  	;
  
  datetime_expression
  	: datetime_primary
  	;
  
  datetime_primary
  	: state_field_path_expression
  	| functions_returning_datetime
  	;
  
  boolean_expression
  	: boolean_primary
  	;
  
  boolean_primary
  	: state_field_path_expression
  	| boolean_literal
  	;
  
  
negative.code: 	: (keyNOT)? conditional_primary;
  
  conditional_primary
  	: simple_cond_expr | LPAREN cond_expr RPAREN;
  
  simple_cond_expr
  	: comparison_expr
  	| between_expr
  	| like_expr
  	| in_expression
  	| null_comparison_expr
  	| empty_collection_comparison_expr
  	| collection_member_expr
  	;
  
  between_expr
  	: arithmetic_expr (keyNOT)? 'BETWEEN' arithmetic_expr keyAND arithmetic_expr
  	| string_expr (keyNOT)? 'BETWEEN' string_expr keyAND string_expr
  	| datetime_expr (keyNOT)? 'BETWEEN' datetime_expr keyAND datetime_expr;
  
  in_expression
  	: state_field_path_expr (keyNOT)? 'IN' LPAREN  (in_item (COMMA in_item)*) RPAREN;
  
  in_item
  	: string_literal
  