anchor.diff:  	;
   
   string_primary
  -	: state_field_path_expression
  +	: state_field_path_expr
   	| string_literal
   	| functions_returning_strings
   	;
   
  -datetime_expression
  +datetime_expr
   	: datetime_primary
   	;
   
   datetime_primary
  -	: state_field_path_expression
  +	: state_field_path_expr
   	| functions_returning_datetime
   	;
   
  -boolean_expression
  +boolean_expr
   	: boolean_primary
   	;
   
   boolean_primary
  -	: state_field_path_expression
  +	: state_field_path_expr
   	| boolean_literal
   	;
   
  
positive.code: 	: ( '+' | '-' )? arithmetic_primary;
  
  arithmetic_primary
  	: state_field_path_expression
  	| numeric_literal
  	| LPAREN simple_arithmetic_expr RPAREN
  	| functions_returning_numerics
  
negative.code: like_expr
  	: string_expr keyNOT? 'LIKE' pattern_value=string_literal ('ESCAPE' escape_character=string_literal)?;
  
  null_comparison_expr
  	: single_valued_path_expression 'IS' (keyNOT)? 'NULL';
  
  empty_collection_comparison_expr
  	: collection_valued_path_expression 'IS' (keyNOT)? 'EMPTY';
  
  collection_member_expr
  