anchor.diff:      | NVL
       | ROUND
       | SUM
  -    ;+    ;
  
positive.code: 
  overriding_function_spec
      : FUNCTION function_name ('(' type_elements_parameter (',' type_elements_parameter)* ')')?
        RETURN (type_spec | SELF AS RESULT) 
       (PIPELINED? (IS | AS) (DECLARE? seq_of_declare_specs? body))? ';'?
      ;
  
  
negative.code:     ;
  
  logical_expression
      : unary_logical_expression
      | logical_expression op=(AND | OR) logical_expression
      ;
  
  unary_logical_expression
      : NOT? multiset_expression (IS NOT? logical_operation)*
      ;
  
  logical_operation:
          (NULL_
          | NAN | PRESENT
          | INFINITE | A_LETTER SET | EMPTY
          | OF TYPE? '(' ONLY? type_spec (',' type_spec)* ')')
      ;
  
  multiset_expression
  