anchor.diff:      ;
   
   unaryExpression
  -    : op=NEGATION primaryExpression -> ^(UNARY_NOT[$op] primaryExpression)
  -    | op=PLUS primaryExpression -> ^(UNARY_PLUS[$op] primaryExpression)
  -    | op=MINUS primaryExpression -> ^(UNARY_MINUS[$op] primaryExpression)
  +    : NEGATION primaryExpression -> ^(UNARY NEGATION primaryExpression)
  +    | PLUS primaryExpression -> ^(UNARY PLUS primaryExpression)
  +    | MINUS primaryExpression -> ^(UNARY MINUS primaryExpression)
       | primaryExpression -> ^(UNARY primaryExpression)
       ;
   
  
positive.code:     ;
  
  prologue
      : (baseDecl | prefixDecl)* -> ^(PROLOGUE baseDecl* prefixDecl*)
      ;
  
  baseDecl
      : BASE IRI_REF -> ^(BASE IRI_REF)
      ;
  
  prefixDecl
      : PREFIX PNAME_NS IRI_REF -> ^(PREFIX PNAME_NS IRI_REF)
  
negative.code:     ;
      
  modify
      : (WITH iriRef)? (deleteClause insertClause? | insertClause) usingClause* WHERE groupGraphPattern -> ^(MODIFY ^(WITH iriRef)? deleteClause* insertClause* usingClause* ^(WHERE_CLAUSE groupGraphPattern))
      ;
    
  deleteClause
  