anchor.diff:    ;
   
   fragment RIGHT_PART_FIRST_CHAR
  -  : (PN_CHARS_U | ':' | [0-9] | PLX)
  +  : (PN_CHARS_U | ':' | '#' | [0-9] | PLX)
     ;
   
   fragment RIGHT_PART_FIRST_CHAR_EXT
  -  : (PN_CHARS_U | ':' | [0-9] | '{' | PLX)
  +  : (RIGHT_PART_FIRST_CHAR | '{')
     ;
   
   fragment RIGHT_PART_CHAR
  -  : (PN_CHARS | '.' | ':' | '/' | PLX)
  +  : (PN_CHARS | '.' | ':' | '/' | '#' | PLX)
     ;
   
   fragment RIGHT_PART_CHAR_EXT
  
positive.code:    ;
  
  PREFIXED_NAME
    : PNAME_LN | PNAME_NS
    ;
  
  // extends PREFIXED_NAME to allow right-hand side curly brackets and slash, and force one right-hand side opening curly bracket
  PREFIXED_NAME_EXT
    : PNAME_NS PN_LOCAL_EXT
    ;
  
  PNAME_LN
     : PNAME_NS PN_LOCAL
     ;
  
  BLANK_NODE_LABEL
    : '_:' (PN_CHARS_U | [0-9]) ((PN_CHARS | '.')* PN_CHARS )?
  
negative.code:   ;
  
  fragment RIGHT_PART_END_CHAR_EXT
    : (RIGHT_PART_END_CHAR | '}')
    ;
  
  fragment RIGHT_PART_TAIL
  