anchor.diff:  
   
   revisionExpression
  -	:	'wasRevisionOf' '('  ((id0=identifier | '-') ';')? id2=identifier ',' id1=identifier (',' (a=identifier | '-') ',' (g2=identifier  | '-') ',' (u1=identifier | '-') )?	optionalAttributeValuePairs ')'
  +	:	'wasRevisionOf' '('  id0=optionalIdentifier id2=identifier ',' id1=identifier (',' a=identifierOrMarker ',' g2=identifierOrMarker ',' u1=identifierOrMarker )?	optionalAttributeValuePairs ')'
         -> {$a.tree==null && $g2.tree==null && $u1.tree==null}?
             ^(WRO ^(ID $id0?) $id2 $id1 ^(ID) ^(ID) ^(ID) optionalAttributeValuePairs)
         -> {$a.tree!=null && $g2.tree==null && $u1.tree==null}?
  
positive.code: /*
          Component 3: Derivations
  
  */
  
  
  derivationExpression
  	:	'wasDerivedFrom' '(' ((id0=identifier | '-') ';')? id2=identifier ',' id1=identifier (',' (a=identifier | '-') ',' (g2=identifier  | '-') ',' (u1=identifier | '-') )?	optionalAttributeValuePairs ')'
        -> {$a.tree==null && $g2.tree==null && $u1.tree==null}?
            ^(WDF ^(ID $id0?) $id2 $id1 ^(ID) ^(ID) ^(ID) optionalAttributeValuePairs)
        -> {$a.tree!=null && $g2.tree==null && $u1.tree==null}?
  
negative.code: 	;
  
  attributionExpression
  	:	'wasAttributedTo' '('  id0=optionalIdentifier e=identifier ',' ag=identifier optionalAttributeValuePairs ')'
        -> ^(WAT  ^(ID $id0?) $e $ag optionalAttributeValuePairs)
  	;
  
  associationExpression
  	:	'wasAssociatedWith' '('  id0=optionalIdentifier a=identifier ',' ag=identifierOrMarker (',' pl=identifierOrMarker)? optionalAttributeValuePairs ')'
        -> {$ag.tree==null}? ^(WAW ^(ID $id0?) $a ^(ID) ^(PLAN $pl?) optionalAttributeValuePairs)
        -> ^(WAW ^(ID $id0?) $a $ag? ^(PLAN $pl?) optionalAttributeValuePairs)
  	;
  
  responsibilityExpression
  	:	'actedOnBehalfOf' '('   id0=optionalIdentifier ag2=identifier ',' ag1=identifier (','  a=identifierOrMarker)? optionalAttributeValuePairs ')'
        -> {$a.tree==null}? ^(AOBO  ^(ID $id0?) $ag2 $ag1 ^(ID) optionalAttributeValuePairs)
        -> ^(AOBO  ^(ID $id0?) $ag2 $ag1 $a? optionalAttributeValuePairs)
  	;
  