anchor.diff:      ;
       	
   path
  -    : pathSequence ( PIPE pathSequence )*
  +    : pathSequence ( PIPE pathSequence )* -> PATH pathSequence ( PIPE pathSequence )*
       ; 
   
   pathSequence
  
positive.code:     ;
  
  pathPrimary
      : ( iriRef | A | NEGATION pathNegatedPropertySet | OPEN_BRACE! path CLOSE_BRACE! )
      ;
  
  pathNegatedPropertySet
  
negative.code: 
  additiveExpression
      : (m1=multiplicativeExpression -> $m1) ( (additiveOperator m2=multiplicativeExpression -> ^(additiveOperator $additiveExpression $m2))  
                                               | (n1=numericLiteralPositive -> ^(PLUS $additiveExpression $n1) | n2=numericLiteralNegative -> ^(PLUS $additiveExpression $n2) ) 
                                               ( ( (ASTERISK u2=unaryExpression -> ^(ASTERISK $additiveExpression $u2)) ) 
                                               | ( (DIVIDE u2=unaryExpression -> ^(DIVIDE $additiveExpression $u2))) )? )*
      ; 
      
  additiveOperator
  