anchor.diff:  mode PHASE_DESCRIPTION;
   PhaseDescription: ~[\r\n]+ ;
   NEW_LINE_PHASE_DESCRIPTION: ('\r'? '\n')+ -> 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_DOUBLE_QUOTE;
   Str: (~["\\\r\n] | UnicodeEscape | EscapeSequence)+ ;
  
positive.code: EXERCISE: 'Exercise' -> mode(PHASE_LEADING);
  VERIFY:   'Verify'  -> mode(PHASE_LEADING);
  TEARDOWN: 'Teardown' -> mode(PHASE_LEADING);
  BAR_EOL: '|' [ \t]* '\r'? '\n' ;
  BAR: '|' ;
  HBAR: '|' [|\-=\:\.\+ \t]* '|' [ \t]* '\r'? '\n' ;
  STAR_LBRACKET: '*[' -> skip, mode(ABBREVIATION);
  ASSERT: 'Assert' ;
  THAT: 'that' ;
  STOP: '.' ;
  
negative.code: WS_CLASS: Spaces -> skip ;
  CLOSE_BACK_TICK3: '`' -> skip, mode(DEFAULT_MODE) ;
  
  mode IN_FILE_NAME;
  SingleQuoteName: (~['\r\n]|'\'\'')* ;
  CLOSE_SINGLE_QUOTE2: '\'' -> skip, mode(DEFAULT_MODE) ;
  