anchor.diff:  mode IN_BOOK_NAME;
   SingleQuoteName3: (~['\r\n]|'\'\'')* -> type(SingleQuoteName) ;
   CLOSE_SINGLE_QUOTE3: '\'' -> skip, mode(DEFAULT_MODE) ;
  -
  -mode ABBREVIATION;
  -ShortName: ~[\]\r\n]* ;
  -RBRACKET_COLON: ']:' Spaces? -> skip, mode(LONG_NAME) ;
  -
  -mode LONG_NAME;
  -LongName: ~[\r\n]* ;
  -EXIT_LONG_NAME: ('\r'? '\n')+ -> skip, mode(DEFAULT_MODE) ;
   
   fragment
   Spaces: [ \t\r\n]+ ;
  
positive.code: WS_CLASS: Spaces -> skip ;
  CLOSE_BACK_TICK3: '`' -> skip, mode(DEFAULT_MODE) ;
  
  mode AFTER_AN_INSTANCE;
  OF: 'of' ;
  Identifier5 : IdentStart IdentPart* -> type(Identifier) ;
  OPEN_BACK_TICK5: '`' -> skip, mode(CLASS) ;
  WS_AFTER_AN_INSTANCE: Spaces -> skip ;
  
  mode IN_FILE_NAME;
  SingleQuoteName: (~['\r\n]|'\'\'')* ;
  CLOSE_SINGLE_QUOTE2: '\'' -> skip, mode(DEFAULT_MODE) ;
  
negative.code: OPEN_SINGLE_QUOTE: '\'' -> skip, mode(IN_SINGLE_QUOTE) ;
  WS : Spaces -> skip ;
  
  mode ABBREVIATION;
  ShortName: ~[\]\r\n]* ;
  RBRACKET_COLON: ']:' Spaces? -> skip, mode(LONG_NAME) ;
  
  mode LONG_NAME;
  LongName: ~[\r\n]* ;
  EXIT_LONG_NAME: ('\r'? '\n')+ -> skip, mode(DEFAULT_MODE) ;
  
  mode TEST_NAME;
  TestName: ~[\r\n]+ ;
  NEW_LINE_TEST_NAME: [ \t]* ('\r'? '\n')+ -> skip, mode(DEFAULT_MODE) ;
  