Buggy code:
} catch ( IOException ex ) { System . out . println ( Messages . parser_incorrectPath ) ; return ; } StringTokenizer st = new StringTokenizer ( new String ( contents ) , "<seq2seq4repair_space>\t\n\r[]={,;" ) ; String [ ] tokens = new String [ st . countTokens ( ) ] ; int j = 0 ; while ( st . hasMoreTokens ( ) ) { tokens [ ( j ++ ) ] = st . nextToken ( ) ; } final String prefix = Parser . FILEPREFIX ; int i = 0 ; char [ ] newLhs = Parser . buildFileOfIntFor ( ( ( prefix + ( ++ i ) ) + ".rsc" ) , "lhs" , tokens ) ; Parser . buildFileOfShortFor ( ( ( prefix + ( ++ i ) ) + ".rsc" ) , "check_table" , tokens ) ; Parser . buildFileOfIntFor ( ( ( prefix + ( ++ i ) ) + ".rsc" ) , "asb" , tokens ) ; Parser . buildFileOfIntFor ( ( ( prefix + ( ++ i ) ) + ".rsc" ) , "asr" , tokens ) ; Parser . buildFileOfIntFor ( ( ( prefix + ( ++ i ) ) + ".rsc" ) , "nasb" , tokens ) ; Parser . buildFileOfIntFor ( ( ( prefix + ( ++ i ) ) + ".rsc" ) , "nasr" , tokens ) ; char [ ] newTerminalIndex = Parser . buildFileOfIntFor ( ( ( prefix + ( ++ i ) ) + ".rsc" ) , "terminal_index" , tokens ) ; char [ ] newNonTerminalIndex = Parser . buildFileOfIntFor ( ( ( prefix + ( ++ i ) ) + ".rsc" ) , "non_terminal_index" , tokens ) ; Parser . buildFileOfIntFor ( ( ( prefix + ( ++ i ) ) + ".rsc" ) , "term_action" , tokens ) ; Parser . buildFileOfIntFor ( ( ( prefix + ( ++ i ) ) + ".rsc" ) , "scope_prefix" , tokens ) ; Parser . buildFileOfIntFor ( ( ( prefix + ( ++ i ) ) + ".rsc" ) , "scope_suffix" , tokens ) ; Parser . buildFileOfIntFor ( ( ( prefix + ( ++ i ) ) + ".rsc" ) , "scope_lhs" , tokens ) ; Parser . buildFileOfIntFor ( ( ( prefix + ( ++ i ) ) + ".rsc" ) , "scope_state_set" , tokens ) ; Parser . buildFileOfIntFor ( ( ( prefix + ( ++ i ) ) + ".rsc" ) , "scope_rhs" , tokens ) ; Parser . buildFileOfIntFor ( ( ( prefix + ( ++ i ) ) + ".rsc" ) , "scope_state" , tokens ) ; Parser . buildFileOfIntFor ( ( ( prefix + ( ++ i ) ) + ".rsc" ) , "in_symb" , tokens ) ; byte [ ] newRhs = Parser . buildFileOfByteFor ( ( ( prefix + ( ++ i ) ) + ".rsc" ) , "rhs" , tokens ) ; Parser . buildFileOfByteFor ( ( ( prefix + ( ++ i ) ) + ".rsc" ) , "term_check" , tokens ) ; Parser . buildFileOfByteFor ( ( ( prefix + ( ++ i ) ) + ".rsc" ) , "scope_la" , tokens ) ; String [ ] newName = Parser . buildFileForName ( ( ( prefix + ( ++ i ) ) + ".rsc" ) , new String ( contents ) ) ; contents = CharOperation . NO_CHAR ; try { contents = Util . getFileCharContent ( new File ( dataFilename2 ) , null ) ; } catch ( IOException ex ) { System . out . println ( Messages . parser_incorrectPath ) ; return ; } st = new StringTokenizer ( new String ( contents ) , "\t\n\r#" ) ; tokens = new String [ st . countTokens ( ) ] ; j = 0 ; while ( st . hasMoreTokens ( ) ) { tokens [ ( j ++ ) ] = st . nextToken ( ) ; } Parser . buildFileForCompliance ( ( ( prefix + ( ++ i ) ) + ".rsc" ) , newRhs . length , tokens ) ; <START_BUG> Parser . buildFileForReadableName ( ( ( Parser . READABLE_NAMES_FILE ) + ".props" ) , newLhs , newNonTerminalIndex , newName , tokens ) ; <END_BUG> Parser . buildFilesForRecoveryTemplates ( ( ( prefix + ( ++ i ) ) + ".rsc" ) , ( ( prefix + ( ++ i ) ) + ".rsc" ) , newTerminalIndex , newNonTerminalIndex , newName , newLhs , tokens ) ; Parser . buildFilesForStatementsRecoveryFilter ( ( ( prefix + ( ++ i ) ) + ".rsc" ) , newNonTerminalIndex , newLhs , tokens ) ; System . out . println ( Messages . parser_moveFiles ) ; } protected static int [ ] computeReverseTable ( char [ ] newTerminalIndex , char [ ] newNonTerminalIndex , String [ ] newName ) { } private static int getSymbol ( String terminalName , String [ ] newName , int [ ] newReverse ) { } public static int in_symbol ( int state ) { } public static final void initTables ( ) throws IOException { } public static int nasi ( int state ) { } public static int ntAction ( int state , int sym ) { } protected static int original_state ( int state ) { } protected static byte [ ] readByteTable ( String filename ) throws IOException { } protected static long [ ] readLongTable ( String filename ) throws IOException { } protected static String [ ] readNameTable ( String filename ) throws IOException { } protected static String [ ] readReadableNameTable ( String filename ) { } protected static char [ ] readTable ( String filename ) throws IOException { } public static int tAction ( int state , int sym ) { } protected int astLengthPtr ; protected int [ ] astLengthStack ; protected int astPtr ; protected ASTNode [ ] astStack = new ASTNode [ Parser . AstStackIncrement ] ; public CompilationUnitDeclaration compilationUnit ;

Fix:
Parser . buildFileForReadableName ( ( ( Parser . READABLE_NAMES_FILE ) + ".properties" ) , newLhs , newNonTerminalIndex , newName , tokens ) ;