Date: Mon, 28 Apr 1997 17:27:51 +0000 From: Per Velschow To: ejberk@princeton.edu Subject: Bug in JavaLex Hello! I have been using JavaLex and CUP for a while with JDK 1.0.2. But then I tried using it with the new JDK 1.1.1 with some problems. The biggest problems where in CUP (I will mail my problem to them), but there was also a little problem in JavaLex. It has to do with the new API in JDK 1.1.1. SUN has "deprecated" some constructors and methods so that you get a warning when you try to compile a program using them. Specifically in the generated code from JavaLex it uses the following deprecated constructor: String(byte[], int, int, int) The solution I have found is very easy (if it works) just let the lexer use the constructor String(byte[], int, int) instead. It uses the platform's default character encoding. You can find out more about this here http://www.javasoft.com/products/jdk/1.1/docs/api/java.lang.String.html I actually have made the change myself by replacing the line m_outstream.writeBytes("\t\treturn (new java.lang.String(yy_buffer, 0, \n"); with m_outstream.writeBytes("\t\treturn (new java.lang.String(yy_buffer,\n"); Yours, Per Velschow ===================================== Per Velschow mailto:pervel@isa.dknet.dk http://www.isa.dknet.dk/~pervel/