protected int unicodeEscapeLexer(int c) throws IOException {
  int ret=0;
  c=in.read();
  code.clear();
  try {
    for (int i=0; i < 4; i++) {
      c=in.read();
      if (isEndOfFile(c) || isEndOfLine(c)) {
        throw new NumberFormatException("number too short");
      }
      code.append((char)c);
    }
    ret=Integer.parseInt(code.toString(),16);
  }
 catch (  NumberFormatException e) {
    throw new IOException("(line " + getLineNumber() + ") Wrong unicode escape sequence found '"+ code.toString()+ "'"+ e.toString());
  }
  return ret;
}

protected int unicodeEscapeLexer ( int c ) throws IOException { int ret = 0 ; c = in . read ( ) ; code . clear ( ) ; try { for ( int i = 0 ; i < 4 ; i ++ ) { c = in . read ( ) ; if ( isEndOfFile ( c ) || isEndOfLine ( c ) ) { throw new NumberFormatException ( "number too short" ) ; } code . append ( ( char ) c ) ; } ret = Integer . parseInt ( code . toString ( ) , 16 ) ; } catch ( NumberFormatException e ) { throw new IOException ( "(line " + getLineNumber ( ) + ") Wrong unicode escape sequence found '" + code . toString ( ) + "'" + e . toString ( ) ) ; } return ret ; }
decodes unicode escapes . interpretation of " \ \ uxxxx " escape sequences where xxxx is a hex - number .
