anchor.diff:      ;
   
   functionCall
  -    : iriRef argList
  +    : iriRef argList -> ^(FUNCTION iriRef ^(ARGLIST argList))
       ;
   
   argList
  -    : ( nil | OPEN_BRACE DISTINCT? expression ( COMMA expression )* CLOSE_BRACE ) -> ^(ARGLIST DISTINCT? nil* expression*)
  +    : ( nil | OPEN_BRACE DISTINCT? expression ( COMMA expression )* CLOSE_BRACE ) -> DISTINCT? nil* expression*
       ;
   
   expressionList
  
positive.code:     ;	
  
  constructTemplate
      : OPEN_CURLY_BRACE constructTriples? CLOSE_CURLY_BRACE -> constructTriples?
      ;
  
  constructTriples
      : triplesSameSubject ( DOT triplesSameSubject )* DOT? -> ^(CONSTRUCTTRIPLES triplesSameSubject+)
      ;
  
  triplesSameSubject
  
negative.code:     ;
  
  propertyListNotEmpty[CommonTree subject]
      : v=verb objectList[$subject, (CommonTree) $v.tree] (SEMICOLON (v=verb objectList[$subject, (CommonTree) $v.tree])?)* -> objectList+
      ;
  
  objectList[CommonTree subject, CommonTree predicate]
  