anchor.diff:  OpenCurly: '{' -> pushMode(Mode1);
   CloseCurly: '}' -> popMode;
   QuestionMark: '?';
  -Comma: ',';
  +Comma: ',' -> skip;
   Dollar: '$' -> more, mode(Mode1), type(DUMMY);
   		   
   String: '"' .*? '"';
  
positive.code: // Appears in line with the other class member definitions in the cpp file.
  @lexer::definitions {/* lexer definitions section */}
  
  channels { COMMENTS_CHANNEL, DIRECTIVE }
  
  tokens {
  	DUMMY	
  
negative.code: Bar: 'bar' {isItBar()}? { myBarLexerAction(); };
  Any: Foo Dot Bar? DotDot Baz;
  
  Comment : '#' ~[\r\n]* '\r'? '\n' -> channel(CommentsChannel);
  WS: [ \t\r\n]+ -> channel(99);
  
  fragment Baz: 'Baz';
  