anchor.diff:  
   mode IN_FILE_NAME;
   SingleQuoteName2: (~['\r\n]|'\'\'')* -> type(SingleQuoteName) ;
  -CLOSESINGLEQUOTE2: '\'' -> skip, mode(DEFAULT_MODE) ;
  +CLOSE_SINGLE_QUOTE2: '\'' -> skip, mode(DEFAULT_MODE) ;
   
   mode IN_BOOK_NAME;
   SingleQuoteName3: (~['\r\n]|'\'\'')* -> type(SingleQuoteName) ;
  -CLOSESINGLEQUOTE3: '\'' -> skip, mode(DEFAULT_MODE) ;
  +CLOSE_SINGLE_QUOTE3: '\'' -> skip, mode(DEFAULT_MODE) ;
   
   mode ABBREVIATION;
   ShortName: ~[\]\r\n]* ;
  -RBRACKETCOLON: ']:' [ \t\r\n]* -> skip, mode(LONG_NAME) ;
  +RBRACKET_COLON: ']:' [ \t\r\n]* -> skip, mode(LONG_NAME) ;
   
   mode LONG_NAME;
   LongName: ~[\r\n]* ;
  
positive.code: BAR_EOL: '|' [ \t]* '\r'? '\n' ;
  BAR: '|' ;
  HBAR: '|' [|\-=\:\.\+ \t]* '|' [ \t]* '\r'? '\n' ;
  STARLBRACKET: '*[' -> skip, mode(ABBREVIATION);
  ASSERT: 'Assert' ;
  THAT: 'that' ;
  STOP: '.' ;
  
negative.code: SPACETABNEWLINE6: [ \t\r\n]+ -> skip ;
  
  mode AFTER_CSV;
  OPEN_SINGLE_QUOTE3: '\'' -> skip, mode(IN_FILE_NAME) ;
  SPACETABNEWLINE7: [ \t\r\n]+ -> skip ;
  
  mode AFTER_EXCEL;
  OPEN_SINGLE_QUOTE4: '\'' -> skip, mode(IN_BOOK_NAME) ;
  SPACETABNEWLINE8: [ \t\r\n]+ -> skip ;
  
  mode IN_TABLE_NAME;
  