JavaCC's generated lexer likes to swallow IOException, so this turns them into RuntimeException. Except JavaCC also deliberately tries to read after a Reader has been closed and counts on that IOException so we can't wrap IOException after a close.
@author jiry
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.