From: <pj...@us...> - 2008-07-18 00:28:53
|
Revision: 4967 http://jython.svn.sourceforge.net/jython/?rev=4967&view=rev Author: pjenvey Date: 2008-07-18 00:28:49 +0000 (Fri, 18 Jul 2008) Log Message: ----------- boost the mark limit even higher for the lenghty lines in pygments.lexers._vimbuiltins Modified Paths: -------------- branches/asm/src/org/python/core/ParserFacade.java Modified: branches/asm/src/org/python/core/ParserFacade.java =================================================================== --- branches/asm/src/org/python/core/ParserFacade.java 2008-07-17 21:25:44 UTC (rev 4966) +++ branches/asm/src/org/python/core/ParserFacade.java 2008-07-18 00:28:49 UTC (rev 4967) @@ -204,7 +204,7 @@ private static String readEncoding(InputStream stream) throws IOException { - stream.mark(10000); + stream.mark(100000); String encoding = null; BufferedReader br = new BufferedReader(new InputStreamReader(stream), 512); for (int i = 0; i < 2; i++) { @@ -218,6 +218,8 @@ break; } } + // XXX: reset() can still raise an IOException if a line exceeds our large mark + // limit stream.reset(); return encodingMap(encoding); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fwi...@us...> - 2008-07-28 02:41:40
|
Revision: 5005 http://jython.svn.sourceforge.net/jython/?rev=5005&view=rev Author: fwierzbicki Date: 2008-07-28 02:41:38 +0000 (Mon, 28 Jul 2008) Log Message: ----------- Better error messages in the face of parser errors (line numbers + char column). Modified Paths: -------------- branches/asm/src/org/python/core/ParserFacade.java Modified: branches/asm/src/org/python/core/ParserFacade.java =================================================================== --- branches/asm/src/org/python/core/ParserFacade.java 2008-07-27 13:21:12 UTC (rev 5004) +++ branches/asm/src/org/python/core/ParserFacade.java 2008-07-28 02:41:38 UTC (rev 5005) @@ -40,8 +40,9 @@ private ParserFacade() {} static String getLine(BufferedReader reader, int line) { - if (reader == null) + if (reader == null) { return ""; + } try { String text=null; for(int i=0; i < line; i++) { @@ -68,8 +69,8 @@ if (t instanceof ParseException) { ParseException e = (ParseException)t; PythonTree node = (PythonTree)e.node; - int line=0; - int col=0; + int line=e.line; + int col=e.charPositionInLine; if (node != null) { line = node.getLine(); col = node.getCharPositionInLine(); @@ -103,7 +104,7 @@ try { if (kind.equals("eval")) { bufreader = prepBufreader(new LeadingSpaceSkippingStream(bstream), cflags, filename); - CharStream cs = new ANTLRReaderStream(bufreader); + CharStream cs = new NoCloseReaderStream(bufreader); ExpressionParser e = new ExpressionParser(cs); node = e.parse(); } else if (kind.equals("single")) { @@ -112,7 +113,7 @@ node = i.parse(); } else if (kind.equals("exec")) { bufreader = prepBufreader(bstream, cflags, filename); - CharStream cs = new ANTLRReaderStream(bufreader); + CharStream cs = new NoCloseReaderStream(bufreader); ModuleParser g = new ModuleParser(cs); node = g.file_input(); } else { @@ -120,6 +121,14 @@ } } catch (Throwable t) { throw fixParseError(bufreader, t, filename); + } finally { + try { + if (bufreader != null) { + bufreader.close(); + } + } catch (IOException i) { + //XXX + } } return node; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fwi...@us...> - 2008-08-08 19:24:44
|
Revision: 5109 http://jython.svn.sourceforge.net/jython/?rev=5109&view=rev Author: fwierzbicki Date: 2008-08-08 19:24:38 +0000 (Fri, 08 Aug 2008) Log Message: ----------- Remove debug string. Modified Paths: -------------- branches/asm/src/org/python/core/ParserFacade.java Modified: branches/asm/src/org/python/core/ParserFacade.java =================================================================== --- branches/asm/src/org/python/core/ParserFacade.java 2008-08-08 18:24:44 UTC (rev 5108) +++ branches/asm/src/org/python/core/ParserFacade.java 2008-08-08 19:24:38 UTC (rev 5109) @@ -187,7 +187,6 @@ } } catch (Exception e) { - System.out.println("valid sentence prob: " + e); return lexer.eofWhileNested; } return true; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fwi...@us...> - 2008-08-11 19:48:38
|
Revision: 5153 http://jython.svn.sourceforge.net/jython/?rev=5153&view=rev Author: fwierzbicki Date: 2008-08-11 19:48:31 +0000 (Mon, 11 Aug 2008) Log Message: ----------- Moved buffered stream creation from many places to one place. Modified Paths: -------------- branches/asm/src/org/python/core/ParserFacade.java Modified: branches/asm/src/org/python/core/ParserFacade.java =================================================================== --- branches/asm/src/org/python/core/ParserFacade.java 2008-08-11 19:25:46 UTC (rev 5152) +++ branches/asm/src/org/python/core/ParserFacade.java 2008-08-11 19:48:31 UTC (rev 5153) @@ -96,22 +96,21 @@ String kind, String filename, CompilerFlags cflags) { - BufferedInputStream bstream = new BufferedInputStream(stream); //FIXME: npe? BufferedReader bufreader = null; modType node = null; try { if (kind.equals("eval")) { - bufreader = prepBufreader(bstream, cflags, filename); + bufreader = prepBufreader(stream, cflags, filename); CharStream cs = new NoCloseReaderStream(bufreader); ExpressionParser e = new ExpressionParser(cs, filename); node = e.parse(); } else if (kind.equals("single")) { - bufreader = prepBufreader(bstream, cflags, filename); + bufreader = prepBufreader(stream, cflags, filename); InteractiveParser i = new InteractiveParser(bufreader, filename); node = i.parse(); } else if (kind.equals("exec")) { - bufreader = prepBufreader(bstream, cflags, filename); + bufreader = prepBufreader(stream, cflags, filename); CharStream cs = new NoCloseReaderStream(bufreader); ModuleParser g = new ModuleParser(cs, filename); node = g.file_input(); @@ -137,19 +136,18 @@ String filename, CompilerFlags cflags, boolean stdprompt) { - ByteArrayInputStream bi = new ByteArrayInputStream( + ByteArrayInputStream istream = new ByteArrayInputStream( StringUtil.toBytes(string)); - BufferedInputStream bstream = bstream = new BufferedInputStream(bi); //FIXME: npe? BufferedReader bufreader = null; modType node = null; try { if (kind.equals("single")) { - bufreader = prepBufreader(bstream, cflags, filename); + bufreader = prepBufreader(istream, cflags, filename); InteractiveParser i = new InteractiveParser(bufreader, filename); node = i.parse(); } else if (kind.equals("eval")) { - bufreader = prepBufreader(bstream, cflags, filename); + bufreader = prepBufreader(istream, cflags, filename); CharStream cs = new NoCloseReaderStream(bufreader); ExpressionParser e = new ExpressionParser(cs, filename); node = e.parse(); @@ -194,29 +192,30 @@ private static BufferedReader prepBufreader(InputStream istream, CompilerFlags cflags, String filename) throws IOException { - String encoding = readEncoding(istream); + InputStream bstream = new BufferedInputStream(istream); + String encoding = readEncoding(bstream); if(encoding == null && cflags != null && cflags.encoding != null) { encoding = cflags.encoding; } // Enable universal newlines mode on the input - StreamIO rawIO = new StreamIO(istream, true); + StreamIO rawIO = new StreamIO(bstream, true); org.python.core.io.BufferedReader bufferedIO = new org.python.core.io.BufferedReader(rawIO, 0); UniversalIOWrapper textIO = new UniversalIOWrapper(bufferedIO); - istream = new TextIOInputStream(textIO); + bstream = new TextIOInputStream(textIO); Reader reader; if(encoding != null) { try { - reader = new InputStreamReader(istream, encoding); + reader = new InputStreamReader(bstream, encoding); } catch(UnsupportedEncodingException exc) { throw new PySyntaxError("Encoding '" + encoding + "' isn't supported by this JVM.", 0, 0, "", filename); } } else { try { // Default to ISO-8859-1 to get bytes off the input stream since it leaves their values alone. - reader = new InputStreamReader(istream, "ISO-8859-1"); + reader = new InputStreamReader(bstream, "ISO-8859-1"); } catch(UnsupportedEncodingException e) { // This JVM is whacked, it doesn't even have iso-8859-1 throw Py.SystemError("Java couldn't find the ISO-8859-1 encoding"); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fwi...@us...> - 2008-08-16 13:56:31
|
Revision: 5188 http://jython.svn.sourceforge.net/jython/?rev=5188&view=rev Author: fwierzbicki Date: 2008-08-16 13:56:28 +0000 (Sat, 16 Aug 2008) Log Message: ----------- Method not used. Modified Paths: -------------- branches/asm/src/org/python/core/ParserFacade.java Modified: branches/asm/src/org/python/core/ParserFacade.java =================================================================== --- branches/asm/src/org/python/core/ParserFacade.java 2008-08-16 06:22:40 UTC (rev 5187) +++ branches/asm/src/org/python/core/ParserFacade.java 2008-08-16 13:56:28 UTC (rev 5188) @@ -90,11 +90,6 @@ else return Py.JavaError(t); } - public static PythonTree parse(String string, String kind) { - return parse(new ByteArrayInputStream(StringUtil.toBytes(string)), - kind, "<string>", null); - } - public static modType parse(InputStream stream, String kind, String filename, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |