void parse(String baseDir,String className){
  String fileName=baseDir + "/" + className.replace('.','/')+ ".java";
  current=new ParseState();
  try {
    RandomAccessFile file=new RandomAccessFile(fileName,"r");
    byte[] buff=new byte[(int)file.length()];
    file.readFully(buff);
    source=new String(buff,"UTF-8");
    file.close();
  }
 catch (  IOException e) {
    throw new RuntimeException(e);
  }
  source=replaceUnicode(source);
  source=removeRemarks(source);
  try {
    readToken();
    parseCompilationUnit();
  }
 catch (  Exception e) {
    throw new RuntimeException(source.substring(0,current.index) + "[*]" + source.substring(current.index),e);
  }
}

void parse ( String baseDir , String className ) { String fileName = baseDir + "/" + className . replace ( '.' , '/' ) + ".java" ; current = new ParseState ( ) ; try { RandomAccessFile file = new RandomAccessFile ( fileName , "r" ) ; byte [ ] buff = new byte [ ( int ) file . length ( ) ] ; file . readFully ( buff ) ; source = new String ( buff , "UTF-8" ) ; file . close ( ) ; } catch ( IOException e ) { throw new RuntimeException ( e ) ; } source = replaceUnicode ( source ) ; source = removeRemarks ( source ) ; try { readToken ( ) ; parseCompilationUnit ( ) ; } catch ( Exception e ) { throw new RuntimeException ( source . substring ( 0 , current . index ) + "[*]" + source . substring ( current . index ) , e ) ; } }
parse the source code .
