anchor.diff:  Any : . ;
   WS  : (' '|'\t')+ ;
   
  +fragment NOTALNUM : ~('A'..'Z'|'a'..'z'|'0'..'9') ;
   fragment START : {start}? | LINE ;
   fragment LINE  : {getCharPositionInLine()==0}? (' '|'\t')*;
   fragment LOWNUM : (LOWER | DIGIT) ;
  
positive.code: 
      return ends;
    }
  }
  
  /* ***** Headings ***** */
  
negative.code: 
  RawUrl    : (('http' 's'? | 'ftp') '://' | 'mailto:') (~(' '|'\t'|'\r'|'\n'|'/'|'|'|'['|']')+ '/'?)+ {doUrl();};
  
  WikiWords : (ALNUM+ ':' UPNUM ((LOWNUM|'.')* LOWNUM)+ (UPNUM ((LOWNUM|'.')* LOWNUM)*)+
              |UPPER ((LOWNUM|'.')* LOWNUM)+ (UPNUM ((LOWNUM|'.')* LOWNUM)*)+) {checkWW()}?;
  
  /* ***** Macros ***** */
  
  