anchor.diff:      ;
   
   relational_expression
  -    : compound_expression
  -      (( '=' | not_equal_op | '<' | '>' | less_than_or_equals_op | greater_than_or_equals_op ) compound_expression)*
  +    : relational_expression relational_operator relational_expression
  +    | compound_expression
       ;
   
   compound_expression
       : concatenation
         (NOT? (IN in_elements | BETWEEN between_elements | like_type concatenation like_escape_part?))?
  +    ;
  +relational_operator
  +    : '=' | not_equal_op | '<' | '>' | less_than_or_equals_op | greater_than_or_equals_op
       ;
   
   like_type
  
positive.code:     | EXTRACT '(' regular_id FROM concatenation_wrapper ')'
      | (FIRST_VALUE | LAST_VALUE) function_argument_analytic respect_or_ignore_nulls? over_clause
      | standard_prediction_function_keyword 
        '(' expression_wrapper (',' expression_wrapper)* cost_matrix_clause? using_clause? ')'
      | TRANSLATE '(' expression_wrapper (USING (CHAR_CS | NCHAR_CS))? (',' expression_wrapper)* ')'
      | TREAT '(' expression_wrapper AS REF? type_spec ')'
      | TRIM '(' ((LEADING | TRAILING | BOTH)? quoted_string? FROM)? concatenation_wrapper ')'
      | XMLAGG '(' expression_wrapper order_by_clause? ')' ('.' general_element_part)?
      | (XMLCOLATTVAL|XMLFOREST)
        '(' xml_multiuse_expression_element (',' xml_multiuse_expression_element)* ')' ('.' general_element_part)?
      | XMLELEMENT 
        '(' (ENTITYESCAPING | NOENTITYESCAPING)? (NAME | EVALNAME)? expression_wrapper
         (/*TODO{input.LT(2).getText().equalsIgnoreCase("xmlattributes")}?*/ ',' xml_attributes_clause)?
         (',' expression_wrapper column_alias?)* ')' ('.' general_element_part)?
      | XMLEXISTS '(' expression_wrapper xml_passing_clause? ')'
      | XMLPARSE '(' (DOCUMENT | CONTENT) concatenation_wrapper WELLFORMED? ')' ('.' general_element_part)?
      | XMLPI
        '(' (NAME id | EVALNAME concatenation_wrapper) (',' concatenation_wrapper)? ')' ('.' general_element_part)?
  
negative.code:     ;
  
  argument
      : (id '=' '>')? expression
      ;
  
  type_spec
  