You can subscribe to this list here.
2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
(107) |
Dec
(67) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2001 |
Jan
(76) |
Feb
(125) |
Mar
(72) |
Apr
(13) |
May
(18) |
Jun
(12) |
Jul
(129) |
Aug
(47) |
Sep
(1) |
Oct
(36) |
Nov
(128) |
Dec
(124) |
2002 |
Jan
(59) |
Feb
|
Mar
(14) |
Apr
(14) |
May
(72) |
Jun
(9) |
Jul
(3) |
Aug
(5) |
Sep
(18) |
Oct
(65) |
Nov
(28) |
Dec
(12) |
2003 |
Jan
(10) |
Feb
(2) |
Mar
(4) |
Apr
(33) |
May
(21) |
Jun
(9) |
Jul
(29) |
Aug
(34) |
Sep
(4) |
Oct
(8) |
Nov
(15) |
Dec
(4) |
2004 |
Jan
(26) |
Feb
(12) |
Mar
(11) |
Apr
(9) |
May
(7) |
Jun
|
Jul
(5) |
Aug
|
Sep
(3) |
Oct
(7) |
Nov
(1) |
Dec
(10) |
2005 |
Jan
(2) |
Feb
(72) |
Mar
(16) |
Apr
(39) |
May
(48) |
Jun
(97) |
Jul
(57) |
Aug
(13) |
Sep
(16) |
Oct
(24) |
Nov
(100) |
Dec
(24) |
2006 |
Jan
(15) |
Feb
(34) |
Mar
(33) |
Apr
(31) |
May
(79) |
Jun
(64) |
Jul
(41) |
Aug
(64) |
Sep
(31) |
Oct
(46) |
Nov
(55) |
Dec
(37) |
2007 |
Jan
(32) |
Feb
(61) |
Mar
(11) |
Apr
(58) |
May
(46) |
Jun
(30) |
Jul
(94) |
Aug
(93) |
Sep
(86) |
Oct
(69) |
Nov
(125) |
Dec
(177) |
2008 |
Jan
(169) |
Feb
(97) |
Mar
(74) |
Apr
(113) |
May
(120) |
Jun
(334) |
Jul
(215) |
Aug
(237) |
Sep
(72) |
Oct
(189) |
Nov
(126) |
Dec
(160) |
2009 |
Jan
(180) |
Feb
(45) |
Mar
(98) |
Apr
(140) |
May
(151) |
Jun
(71) |
Jul
(107) |
Aug
(119) |
Sep
(73) |
Oct
(121) |
Nov
(14) |
Dec
(6) |
2010 |
Jan
(13) |
Feb
(9) |
Mar
(10) |
Apr
(64) |
May
(3) |
Jun
(16) |
Jul
(7) |
Aug
(23) |
Sep
(17) |
Oct
(37) |
Nov
(5) |
Dec
(8) |
2011 |
Jan
(10) |
Feb
(11) |
Mar
(77) |
Apr
(11) |
May
(2) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <pj...@us...> - 2011-05-01 00:13:54
|
Revision: 7292 http://jython.svn.sourceforge.net/jython/?rev=7292&view=rev Author: pjenvey Date: 2011-05-01 00:13:47 +0000 (Sun, 01 May 2011) Log Message: ----------- remove the remaining svn keywords Modified Paths: -------------- trunk/jython/Lib/dbexts.py trunk/jython/Lib/isql.py trunk/jython/Lib/test/zxjdbc/test_zxjdbc_dbapi20.py trunk/jython/src/com/ziclix/python/sql/PyConnection.java trunk/jython/src/com/ziclix/python/sql/PyCursor.java trunk/jython/src/com/ziclix/python/sql/PyExtendedCursor.java trunk/jython/src/com/ziclix/python/sql/PyStatement.java trunk/jython/src/com/ziclix/python/sql/util/BCP.java trunk/jython/src/com/ziclix/python/sql/zxJDBC.java trunk/jython/src/org/python/modules/cPickle.java Modified: trunk/jython/Lib/dbexts.py =================================================================== --- trunk/jython/Lib/dbexts.py 2011-05-01 00:05:20 UTC (rev 7291) +++ trunk/jython/Lib/dbexts.py 2011-05-01 00:13:47 UTC (rev 7292) @@ -47,8 +47,6 @@ from types import StringType __author__ = "brian zimmer (bz...@zi...)" -__version__ = "$Revision$"[11:-2] - __OS__ = os.name choose = lambda bool, a, b: (bool and [a] or [b])[0] Modified: trunk/jython/Lib/isql.py =================================================================== --- trunk/jython/Lib/isql.py 2011-05-01 00:05:20 UTC (rev 7291) +++ trunk/jython/Lib/isql.py 2011-05-01 00:13:47 UTC (rev 7292) @@ -5,8 +5,6 @@ for database work. """ -__version__ = "$Revision$"[11:-2] - class IsqlExit(Exception): pass class Prompt: Modified: trunk/jython/Lib/test/zxjdbc/test_zxjdbc_dbapi20.py =================================================================== --- trunk/jython/Lib/test/zxjdbc/test_zxjdbc_dbapi20.py 2011-05-01 00:05:20 UTC (rev 7291) +++ trunk/jython/Lib/test/zxjdbc/test_zxjdbc_dbapi20.py 2011-05-01 00:13:47 UTC (rev 7292) @@ -4,9 +4,6 @@ http://stuartbishop.net/Software/DBAPI20TestSuite/ """ -__rcs_id__ = '$Id$' -__version__ = '$Revision$' - import dbapi20 import unittest from com.ziclix.python.sql import zxJDBC as zxjdbc Modified: trunk/jython/src/com/ziclix/python/sql/PyConnection.java =================================================================== --- trunk/jython/src/com/ziclix/python/sql/PyConnection.java 2011-05-01 00:05:20 UTC (rev 7291) +++ trunk/jython/src/com/ziclix/python/sql/PyConnection.java 2011-05-01 00:13:47 UTC (rev 7292) @@ -126,10 +126,6 @@ * @param dict */ static public void classDictInit(PyObject dict) { - PyObject version = - Py.newString("$Revision$").__getslice__(Py.newInteger(11), - Py.newInteger(-2)); - dict.__setitem__("__version__", version); dict.__setitem__("autocommit", new PyInteger(0)); dict.__setitem__("close", new ConnectionFunc("close", 0, 0, 0, zxJDBC.getString("close"))); dict.__setitem__("commit", new ConnectionFunc("commit", 1, 0, 0, Modified: trunk/jython/src/com/ziclix/python/sql/PyCursor.java =================================================================== --- trunk/jython/src/com/ziclix/python/sql/PyCursor.java 2011-05-01 00:05:20 UTC (rev 7291) +++ trunk/jython/src/com/ziclix/python/sql/PyCursor.java 2011-05-01 00:13:47 UTC (rev 7292) @@ -243,10 +243,6 @@ * @param dict */ static public void classDictInit(PyObject dict) { - PyObject version = - Py.newString("$Revision$").__getslice__(Py.newInteger(11), - Py.newInteger(-2)); - dict.__setitem__("__version__", version); dict.__setitem__("fetchmany", new CursorFunc("fetchmany", 0, 0, 1, "fetch specified number of rows")); dict.__setitem__("close", new CursorFunc("close", 1, 0, "close the cursor")); dict.__setitem__("fetchall", new CursorFunc("fetchall", 2, 0, "fetch all results")); Modified: trunk/jython/src/com/ziclix/python/sql/PyExtendedCursor.java =================================================================== --- trunk/jython/src/com/ziclix/python/sql/PyExtendedCursor.java 2011-05-01 00:05:20 UTC (rev 7291) +++ trunk/jython/src/com/ziclix/python/sql/PyExtendedCursor.java 2011-05-01 00:13:47 UTC (rev 7292) @@ -104,7 +104,6 @@ */ static public void classDictInit(PyObject dict) { PyCursor.classDictInit(dict); - dict.__setitem__("__version__", Py.newString("$Revision$").__getslice__(Py.newInteger(11), Py.newInteger(-2), null)); dict.__setitem__("tables", new ExtendedCursorFunc("tables", 100, 4, 4, "query for table information")); dict.__setitem__("columns", new ExtendedCursorFunc("columns", 101, 4, 4, "query for column information")); dict.__setitem__("primarykeys", new ExtendedCursorFunc("primarykeys", 102, 3, 3, "query for primary keys")); Modified: trunk/jython/src/com/ziclix/python/sql/PyStatement.java =================================================================== --- trunk/jython/src/com/ziclix/python/sql/PyStatement.java 2011-05-01 00:05:20 UTC (rev 7291) +++ trunk/jython/src/com/ziclix/python/sql/PyStatement.java 2011-05-01 00:13:47 UTC (rev 7292) @@ -144,11 +144,6 @@ * @param dict */ static public void classDictInit(PyObject dict) { - PyObject version = - Py.newString("$Revision$").__getslice__(Py.newInteger(11), - Py.newInteger(-2)); - dict.__setitem__("__version__", version); - // hide from python dict.__setitem__("classDictInit", null); dict.__setitem__("statement", null); Modified: trunk/jython/src/com/ziclix/python/sql/util/BCP.java =================================================================== --- trunk/jython/src/com/ziclix/python/sql/util/BCP.java 2011-05-01 00:05:20 UTC (rev 7291) +++ trunk/jython/src/com/ziclix/python/sql/util/BCP.java 2011-05-01 00:13:47 UTC (rev 7292) @@ -148,8 +148,6 @@ * @param dict */ static public void classDictInit(PyObject dict) { - - dict.__setitem__("__version__", Py.newString("$Revision$").__getslice__(Py.newInteger(11), Py.newInteger(-2), null)); dict.__setitem__("bcp", new BCPFunc("bcp", 0, 1, 2, zxJDBC.getString("bcp"))); dict.__setitem__("batchsize", Py.newString(zxJDBC.getString("batchsize"))); dict.__setitem__("queuesize", Py.newString(zxJDBC.getString("queuesize"))); Modified: trunk/jython/src/com/ziclix/python/sql/zxJDBC.java =================================================================== --- trunk/jython/src/com/ziclix/python/sql/zxJDBC.java 2011-05-01 00:05:20 UTC (rev 7291) +++ trunk/jython/src/com/ziclix/python/sql/zxJDBC.java 2011-05-01 00:13:47 UTC (rev 7292) @@ -118,14 +118,9 @@ * @param dict */ public static void classDictInit(PyObject dict) { - PyObject version = - Py.newString("$Revision$").__getslice__(Py.newInteger(11), - Py.newInteger(-2)); - dict.__setitem__("apilevel", new PyString("2.0")); dict.__setitem__("threadsafety", new PyInteger(1)); dict.__setitem__("paramstyle", new PyString("qmark")); - dict.__setitem__("__version__", version); dict.__setitem__("Date", new zxJDBCFunc("Date", 1, 3, 3, "construct a Date from year, month, day")); dict.__setitem__("Time", new zxJDBCFunc("Time", 2, 3, 3, Modified: trunk/jython/src/org/python/modules/cPickle.java =================================================================== --- trunk/jython/src/org/python/modules/cPickle.java 2011-05-01 00:05:20 UTC (rev 7291) +++ trunk/jython/src/org/python/modules/cPickle.java 2011-05-01 00:13:47 UTC (rev 7292) @@ -350,11 +350,8 @@ * The doc string */ public static String __doc__ = - "Java implementation and optimization of the Python pickle module\n" + - "\n" + - "$Id$\n"; + "Java implementation and optimization of the Python pickle module\n"; - /** * The program version. */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pj...@us...> - 2011-05-01 00:05:26
|
Revision: 7291 http://jython.svn.sourceforge.net/jython/?rev=7291&view=rev Author: pjenvey Date: 2011-05-01 00:05:20 +0000 (Sun, 01 May 2011) Log Message: ----------- hardcode the rest of the svn keywords Modified Paths: -------------- branches/Release_2_5maint/jython/Lib/dbexts.py branches/Release_2_5maint/jython/Lib/isql.py branches/Release_2_5maint/jython/Lib/test/zxjdbc/test_zxjdbc_dbapi20.py branches/Release_2_5maint/jython/src/com/ziclix/python/sql/PyConnection.java branches/Release_2_5maint/jython/src/com/ziclix/python/sql/PyCursor.java branches/Release_2_5maint/jython/src/com/ziclix/python/sql/PyExtendedCursor.java branches/Release_2_5maint/jython/src/com/ziclix/python/sql/PyStatement.java branches/Release_2_5maint/jython/src/com/ziclix/python/sql/util/BCP.java branches/Release_2_5maint/jython/src/com/ziclix/python/sql/zxJDBC.java branches/Release_2_5maint/jython/src/org/python/modules/cPickle.java Modified: branches/Release_2_5maint/jython/Lib/dbexts.py =================================================================== --- branches/Release_2_5maint/jython/Lib/dbexts.py 2011-04-30 23:41:10 UTC (rev 7290) +++ branches/Release_2_5maint/jython/Lib/dbexts.py 2011-05-01 00:05:20 UTC (rev 7291) @@ -47,7 +47,7 @@ from types import StringType __author__ = "brian zimmer (bz...@zi...)" -__version__ = "$Revision$"[11:-2] +__version__ = "7290" __OS__ = os.name Modified: branches/Release_2_5maint/jython/Lib/isql.py =================================================================== --- branches/Release_2_5maint/jython/Lib/isql.py 2011-04-30 23:41:10 UTC (rev 7290) +++ branches/Release_2_5maint/jython/Lib/isql.py 2011-05-01 00:05:20 UTC (rev 7291) @@ -5,7 +5,7 @@ for database work. """ -__version__ = "$Revision$"[11:-2] +__version__ = "7290" class IsqlExit(Exception): pass Modified: branches/Release_2_5maint/jython/Lib/test/zxjdbc/test_zxjdbc_dbapi20.py =================================================================== --- branches/Release_2_5maint/jython/Lib/test/zxjdbc/test_zxjdbc_dbapi20.py 2011-04-30 23:41:10 UTC (rev 7290) +++ branches/Release_2_5maint/jython/Lib/test/zxjdbc/test_zxjdbc_dbapi20.py 2011-05-01 00:05:20 UTC (rev 7291) @@ -4,9 +4,6 @@ http://stuartbishop.net/Software/DBAPI20TestSuite/ """ -__rcs_id__ = '$Id$' -__version__ = '$Revision$' - import dbapi20 import unittest from com.ziclix.python.sql import zxJDBC as zxjdbc Modified: branches/Release_2_5maint/jython/src/com/ziclix/python/sql/PyConnection.java =================================================================== --- branches/Release_2_5maint/jython/src/com/ziclix/python/sql/PyConnection.java 2011-04-30 23:41:10 UTC (rev 7290) +++ branches/Release_2_5maint/jython/src/com/ziclix/python/sql/PyConnection.java 2011-05-01 00:05:20 UTC (rev 7291) @@ -126,10 +126,7 @@ * @param dict */ static public void classDictInit(PyObject dict) { - PyObject version = - Py.newString("$Revision$").__getslice__(Py.newInteger(11), - Py.newInteger(-2)); - dict.__setitem__("__version__", version); + dict.__setitem__("__version__", Py.newString("7290")); dict.__setitem__("autocommit", new PyInteger(0)); dict.__setitem__("close", new ConnectionFunc("close", 0, 0, 0, zxJDBC.getString("close"))); dict.__setitem__("commit", new ConnectionFunc("commit", 1, 0, 0, Modified: branches/Release_2_5maint/jython/src/com/ziclix/python/sql/PyCursor.java =================================================================== --- branches/Release_2_5maint/jython/src/com/ziclix/python/sql/PyCursor.java 2011-04-30 23:41:10 UTC (rev 7290) +++ branches/Release_2_5maint/jython/src/com/ziclix/python/sql/PyCursor.java 2011-05-01 00:05:20 UTC (rev 7291) @@ -243,10 +243,7 @@ * @param dict */ static public void classDictInit(PyObject dict) { - PyObject version = - Py.newString("$Revision$").__getslice__(Py.newInteger(11), - Py.newInteger(-2)); - dict.__setitem__("__version__", version); + dict.__setitem__("__version__", Py.newString("7290")); dict.__setitem__("fetchmany", new CursorFunc("fetchmany", 0, 0, 1, "fetch specified number of rows")); dict.__setitem__("close", new CursorFunc("close", 1, 0, "close the cursor")); dict.__setitem__("fetchall", new CursorFunc("fetchall", 2, 0, "fetch all results")); Modified: branches/Release_2_5maint/jython/src/com/ziclix/python/sql/PyExtendedCursor.java =================================================================== --- branches/Release_2_5maint/jython/src/com/ziclix/python/sql/PyExtendedCursor.java 2011-04-30 23:41:10 UTC (rev 7290) +++ branches/Release_2_5maint/jython/src/com/ziclix/python/sql/PyExtendedCursor.java 2011-05-01 00:05:20 UTC (rev 7291) @@ -104,7 +104,7 @@ */ static public void classDictInit(PyObject dict) { PyCursor.classDictInit(dict); - dict.__setitem__("__version__", Py.newString("$Revision$").__getslice__(Py.newInteger(11), Py.newInteger(-2), null)); + dict.__setitem__("__version__", Py.newString("7290")); dict.__setitem__("tables", new ExtendedCursorFunc("tables", 100, 4, 4, "query for table information")); dict.__setitem__("columns", new ExtendedCursorFunc("columns", 101, 4, 4, "query for column information")); dict.__setitem__("primarykeys", new ExtendedCursorFunc("primarykeys", 102, 3, 3, "query for primary keys")); Modified: branches/Release_2_5maint/jython/src/com/ziclix/python/sql/PyStatement.java =================================================================== --- branches/Release_2_5maint/jython/src/com/ziclix/python/sql/PyStatement.java 2011-04-30 23:41:10 UTC (rev 7290) +++ branches/Release_2_5maint/jython/src/com/ziclix/python/sql/PyStatement.java 2011-05-01 00:05:20 UTC (rev 7291) @@ -144,10 +144,7 @@ * @param dict */ static public void classDictInit(PyObject dict) { - PyObject version = - Py.newString("$Revision$").__getslice__(Py.newInteger(11), - Py.newInteger(-2)); - dict.__setitem__("__version__", version); + dict.__setitem__("__version__", Py.newString("7290")); // hide from python dict.__setitem__("classDictInit", null); Modified: branches/Release_2_5maint/jython/src/com/ziclix/python/sql/util/BCP.java =================================================================== --- branches/Release_2_5maint/jython/src/com/ziclix/python/sql/util/BCP.java 2011-04-30 23:41:10 UTC (rev 7290) +++ branches/Release_2_5maint/jython/src/com/ziclix/python/sql/util/BCP.java 2011-05-01 00:05:20 UTC (rev 7291) @@ -148,8 +148,7 @@ * @param dict */ static public void classDictInit(PyObject dict) { - - dict.__setitem__("__version__", Py.newString("$Revision$").__getslice__(Py.newInteger(11), Py.newInteger(-2), null)); + dict.__setitem__("__version__", Py.newString("7290")); dict.__setitem__("bcp", new BCPFunc("bcp", 0, 1, 2, zxJDBC.getString("bcp"))); dict.__setitem__("batchsize", Py.newString(zxJDBC.getString("batchsize"))); dict.__setitem__("queuesize", Py.newString(zxJDBC.getString("queuesize"))); Modified: branches/Release_2_5maint/jython/src/com/ziclix/python/sql/zxJDBC.java =================================================================== --- branches/Release_2_5maint/jython/src/com/ziclix/python/sql/zxJDBC.java 2011-04-30 23:41:10 UTC (rev 7290) +++ branches/Release_2_5maint/jython/src/com/ziclix/python/sql/zxJDBC.java 2011-05-01 00:05:20 UTC (rev 7291) @@ -118,14 +118,10 @@ * @param dict */ public static void classDictInit(PyObject dict) { - PyObject version = - Py.newString("$Revision$").__getslice__(Py.newInteger(11), - Py.newInteger(-2)); - dict.__setitem__("apilevel", new PyString("2.0")); dict.__setitem__("threadsafety", new PyInteger(1)); dict.__setitem__("paramstyle", new PyString("qmark")); - dict.__setitem__("__version__", version); + dict.__setitem__("__version__", Py.newString("7290")); dict.__setitem__("Date", new zxJDBCFunc("Date", 1, 3, 3, "construct a Date from year, month, day")); dict.__setitem__("Time", new zxJDBCFunc("Time", 2, 3, 3, Modified: branches/Release_2_5maint/jython/src/org/python/modules/cPickle.java =================================================================== --- branches/Release_2_5maint/jython/src/org/python/modules/cPickle.java 2011-04-30 23:41:10 UTC (rev 7290) +++ branches/Release_2_5maint/jython/src/org/python/modules/cPickle.java 2011-05-01 00:05:20 UTC (rev 7291) @@ -350,11 +350,8 @@ * The doc string */ public static String __doc__ = - "Java implementation and optimization of the Python pickle module\n" + - "\n" + - "$Id$\n"; + "Java implementation and optimization of the Python pickle module\n"; - /** * The program version. */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pj...@us...> - 2011-04-30 23:41:18
|
Revision: 7290 http://jython.svn.sourceforge.net/jython/?rev=7290&view=rev Author: pjenvey Date: 2011-04-30 23:41:10 +0000 (Sat, 30 Apr 2011) Log Message: ----------- Merged revisions 7289 via svnmerge from https://jython.svn.sourceforge.net/svnroot/jython/trunk ........ r7289 | pjenvey | 2011-04-30 16:27:49 -0700 (Sat, 30 Apr 2011) | 2 lines remove svn keywords in comments ........ Modified Paths: -------------- branches/Release_2_5maint/jython/Lib/dbexts.py branches/Release_2_5maint/jython/Lib/isql.py branches/Release_2_5maint/jython/Lib/test/zxjdbc/dbextstest.py branches/Release_2_5maint/jython/Lib/test/zxjdbc/jndi.py branches/Release_2_5maint/jython/Lib/test/zxjdbc/runner.py branches/Release_2_5maint/jython/Lib/test/zxjdbc/sptest.py branches/Release_2_5maint/jython/Lib/test/zxjdbc/test_zxjdbc_dbapi20.py branches/Release_2_5maint/jython/Lib/test/zxjdbc/zxtest.py branches/Release_2_5maint/jython/src/com/ziclix/python/sql/DBApiType.java branches/Release_2_5maint/jython/src/com/ziclix/python/sql/DataHandler.java branches/Release_2_5maint/jython/src/com/ziclix/python/sql/DateFactory.java branches/Release_2_5maint/jython/src/com/ziclix/python/sql/Fetch.java branches/Release_2_5maint/jython/src/com/ziclix/python/sql/FilterDataHandler.java branches/Release_2_5maint/jython/src/com/ziclix/python/sql/JDBC20DataHandler.java branches/Release_2_5maint/jython/src/com/ziclix/python/sql/JDBC30DataHandler.java branches/Release_2_5maint/jython/src/com/ziclix/python/sql/JavaDateFactory.java branches/Release_2_5maint/jython/src/com/ziclix/python/sql/Jython22DataHandler.java branches/Release_2_5maint/jython/src/com/ziclix/python/sql/Procedure.java branches/Release_2_5maint/jython/src/com/ziclix/python/sql/PyConnection.java branches/Release_2_5maint/jython/src/com/ziclix/python/sql/PyCursor.java branches/Release_2_5maint/jython/src/com/ziclix/python/sql/PyExtendedCursor.java branches/Release_2_5maint/jython/src/com/ziclix/python/sql/PyStatement.java branches/Release_2_5maint/jython/src/com/ziclix/python/sql/WarningEvent.java branches/Release_2_5maint/jython/src/com/ziclix/python/sql/WarningListener.java branches/Release_2_5maint/jython/src/com/ziclix/python/sql/connect/Connect.java branches/Release_2_5maint/jython/src/com/ziclix/python/sql/connect/Connectx.java branches/Release_2_5maint/jython/src/com/ziclix/python/sql/connect/Lookup.java branches/Release_2_5maint/jython/src/com/ziclix/python/sql/handler/InformixDataHandler.java branches/Release_2_5maint/jython/src/com/ziclix/python/sql/handler/MySQLDataHandler.java branches/Release_2_5maint/jython/src/com/ziclix/python/sql/handler/OracleDataHandler.java branches/Release_2_5maint/jython/src/com/ziclix/python/sql/handler/PostgresqlDataHandler.java branches/Release_2_5maint/jython/src/com/ziclix/python/sql/handler/RowIdHandler.java branches/Release_2_5maint/jython/src/com/ziclix/python/sql/handler/SQLServerDataHandler.java branches/Release_2_5maint/jython/src/com/ziclix/python/sql/handler/UpdateCountDataHandler.java branches/Release_2_5maint/jython/src/com/ziclix/python/sql/pipe/Pipe.java branches/Release_2_5maint/jython/src/com/ziclix/python/sql/pipe/Sink.java branches/Release_2_5maint/jython/src/com/ziclix/python/sql/pipe/Source.java branches/Release_2_5maint/jython/src/com/ziclix/python/sql/pipe/csv/CSVSink.java branches/Release_2_5maint/jython/src/com/ziclix/python/sql/pipe/csv/CSVString.java branches/Release_2_5maint/jython/src/com/ziclix/python/sql/pipe/db/BaseDB.java branches/Release_2_5maint/jython/src/com/ziclix/python/sql/pipe/db/DBSink.java branches/Release_2_5maint/jython/src/com/ziclix/python/sql/pipe/db/DBSource.java branches/Release_2_5maint/jython/src/com/ziclix/python/sql/procedure/SQLServerProcedure.java branches/Release_2_5maint/jython/src/com/ziclix/python/sql/util/BCP.java branches/Release_2_5maint/jython/src/com/ziclix/python/sql/util/PyArgParser.java branches/Release_2_5maint/jython/src/com/ziclix/python/sql/util/Queue.java branches/Release_2_5maint/jython/src/com/ziclix/python/sql/util/QueueClosedException.java branches/Release_2_5maint/jython/src/com/ziclix/python/sql/zxJDBC.java Property Changed: ---------------- branches/Release_2_5maint/ branches/Release_2_5maint/jython/ Property changes on: branches/Release_2_5maint ___________________________________________________________________ Modified: svnmerge-integrated - /trunk:1-7207,7210,7285,7287 + /trunk:1-7207,7210,7285,7287,7289 Modified: svn:mergeinfo - /trunk:7210,7285,7287 + /trunk:7210,7285,7287,7289 Property changes on: branches/Release_2_5maint/jython ___________________________________________________________________ Modified: svn:mergeinfo - /branches/jsr223:6285-6565 /branches/newstyle-java-types:5564-5663,5666-5729 /trunk/jython:7210,7285,7287 + /branches/jsr223:6285-6565 /branches/newstyle-java-types:5564-5663,5666-5729 /trunk/jython:7210,7285,7287,7289 Modified: branches/Release_2_5maint/jython/Lib/dbexts.py =================================================================== --- branches/Release_2_5maint/jython/Lib/dbexts.py 2011-04-30 23:27:49 UTC (rev 7289) +++ branches/Release_2_5maint/jython/Lib/dbexts.py 2011-04-30 23:41:10 UTC (rev 7290) @@ -1,5 +1,3 @@ -# $Id$ - """ This script provides platform independence by wrapping Python Database API 2.0 compatible drivers to allow seamless database Modified: branches/Release_2_5maint/jython/Lib/isql.py =================================================================== --- branches/Release_2_5maint/jython/Lib/isql.py 2011-04-30 23:27:49 UTC (rev 7289) +++ branches/Release_2_5maint/jython/Lib/isql.py 2011-04-30 23:41:10 UTC (rev 7290) @@ -1,5 +1,3 @@ -# $Id$ - import dbexts, cmd, sys, os """ Modified: branches/Release_2_5maint/jython/Lib/test/zxjdbc/dbextstest.py =================================================================== --- branches/Release_2_5maint/jython/Lib/test/zxjdbc/dbextstest.py 2011-04-30 23:27:49 UTC (rev 7289) +++ branches/Release_2_5maint/jython/Lib/test/zxjdbc/dbextstest.py 2011-04-30 23:41:10 UTC (rev 7290) @@ -1,8 +1,6 @@ # Jython Database Specification API 2.0 # -# $Id$ -# # Copyright (c) 2001 brian zimmer <bz...@zi...> import dbexts, runner, tempfile, os Modified: branches/Release_2_5maint/jython/Lib/test/zxjdbc/jndi.py =================================================================== --- branches/Release_2_5maint/jython/Lib/test/zxjdbc/jndi.py 2011-04-30 23:27:49 UTC (rev 7289) +++ branches/Release_2_5maint/jython/Lib/test/zxjdbc/jndi.py 2011-04-30 23:41:10 UTC (rev 7290) @@ -1,8 +1,5 @@ - # Jython Database Specification API 2.0 # -# $Id$ -# # Copyright (c) 2001 brian zimmer <bz...@zi...> """ Modified: branches/Release_2_5maint/jython/Lib/test/zxjdbc/runner.py =================================================================== --- branches/Release_2_5maint/jython/Lib/test/zxjdbc/runner.py 2011-04-30 23:27:49 UTC (rev 7289) +++ branches/Release_2_5maint/jython/Lib/test/zxjdbc/runner.py 2011-04-30 23:41:10 UTC (rev 7290) @@ -1,8 +1,5 @@ - # Jython Database Specification API 2.0 # -# $Id$ -# # Copyright (c) 2001 brian zimmer <bz...@zi...> """ Modified: branches/Release_2_5maint/jython/Lib/test/zxjdbc/sptest.py =================================================================== --- branches/Release_2_5maint/jython/Lib/test/zxjdbc/sptest.py 2011-04-30 23:27:49 UTC (rev 7289) +++ branches/Release_2_5maint/jython/Lib/test/zxjdbc/sptest.py 2011-04-30 23:41:10 UTC (rev 7290) @@ -1,8 +1,5 @@ - # Jython Database Specification API 2.0 # -# $Id$ -# # Copyright (c) 2001 brian zimmer <bz...@zi...> from zxtest import zxCoreTestCase Modified: branches/Release_2_5maint/jython/Lib/test/zxjdbc/test_zxjdbc_dbapi20.py =================================================================== --- branches/Release_2_5maint/jython/Lib/test/zxjdbc/test_zxjdbc_dbapi20.py 2011-04-30 23:27:49 UTC (rev 7289) +++ branches/Release_2_5maint/jython/Lib/test/zxjdbc/test_zxjdbc_dbapi20.py 2011-04-30 23:41:10 UTC (rev 7290) @@ -1,7 +1,4 @@ #!/usr/bin/env jython - -# $Id$ - """ This is to be used with the DB API compatibility test available @ http://stuartbishop.net/Software/DBAPI20TestSuite/ Modified: branches/Release_2_5maint/jython/Lib/test/zxjdbc/zxtest.py =================================================================== --- branches/Release_2_5maint/jython/Lib/test/zxjdbc/zxtest.py 2011-04-30 23:27:49 UTC (rev 7289) +++ branches/Release_2_5maint/jython/Lib/test/zxjdbc/zxtest.py 2011-04-30 23:41:10 UTC (rev 7290) @@ -1,8 +1,5 @@ - # Jython Database Specification API 2.0 # -# $Id$ -# # Copyright (c) 2001 brian zimmer <bz...@zi...> from com.ziclix.python.sql import zxJDBC Modified: branches/Release_2_5maint/jython/src/com/ziclix/python/sql/DBApiType.java =================================================================== --- branches/Release_2_5maint/jython/src/com/ziclix/python/sql/DBApiType.java 2011-04-30 23:27:49 UTC (rev 7289) +++ branches/Release_2_5maint/jython/src/com/ziclix/python/sql/DBApiType.java 2011-04-30 23:41:10 UTC (rev 7290) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -17,8 +16,6 @@ * a SQL datatype value. * * @author brian zimmer - * @author last modified by $Author$ - * @version $Revision$ */ public final class DBApiType extends PyInteger { Modified: branches/Release_2_5maint/jython/src/com/ziclix/python/sql/DataHandler.java =================================================================== --- branches/Release_2_5maint/jython/src/com/ziclix/python/sql/DataHandler.java 2011-04-30 23:27:49 UTC (rev 7289) +++ branches/Release_2_5maint/jython/src/com/ziclix/python/sql/DataHandler.java 2011-04-30 23:41:10 UTC (rev 7290) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -46,8 +45,6 @@ * CLOBs and Arrays. * * @author brian zimmer - * @author last revised by $Author$ - * @version $Revision$ */ public class DataHandler { Modified: branches/Release_2_5maint/jython/src/com/ziclix/python/sql/DateFactory.java =================================================================== --- branches/Release_2_5maint/jython/src/com/ziclix/python/sql/DateFactory.java 2011-04-30 23:27:49 UTC (rev 7289) +++ branches/Release_2_5maint/jython/src/com/ziclix/python/sql/DateFactory.java 2011-04-30 23:41:10 UTC (rev 7290) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2003 brian zimmer <bz...@zi...> * @@ -14,8 +13,6 @@ * Provide an extensible way to create dates for zxJDBC. * * @author brian zimmer - * @author last revised by $Author$ - * @version $Revision$ */ public interface DateFactory { Modified: branches/Release_2_5maint/jython/src/com/ziclix/python/sql/Fetch.java =================================================================== --- branches/Release_2_5maint/jython/src/com/ziclix/python/sql/Fetch.java 2011-04-30 23:27:49 UTC (rev 7289) +++ branches/Release_2_5maint/jython/src/com/ziclix/python/sql/Fetch.java 2011-04-30 23:41:10 UTC (rev 7290) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -48,7 +47,6 @@ * require the entire result set be presented as one.</p> * * @author brian zimmer - * @version $Revision$ */ abstract public class Fetch { Modified: branches/Release_2_5maint/jython/src/com/ziclix/python/sql/FilterDataHandler.java =================================================================== --- branches/Release_2_5maint/jython/src/com/ziclix/python/sql/FilterDataHandler.java 2011-04-30 23:27:49 UTC (rev 7289) +++ branches/Release_2_5maint/jython/src/com/ziclix/python/sql/FilterDataHandler.java 2011-04-30 23:41:10 UTC (rev 7290) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -25,8 +24,6 @@ * pass all requests to the contained data handler. * * @author brian zimmer - * @author last revised by $Author$ - * @version $Revision$ */ public abstract class FilterDataHandler extends DataHandler { Modified: branches/Release_2_5maint/jython/src/com/ziclix/python/sql/JDBC20DataHandler.java =================================================================== --- branches/Release_2_5maint/jython/src/com/ziclix/python/sql/JDBC20DataHandler.java 2011-04-30 23:27:49 UTC (rev 7289) +++ branches/Release_2_5maint/jython/src/com/ziclix/python/sql/JDBC20DataHandler.java 2011-04-30 23:41:10 UTC (rev 7290) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -29,8 +28,6 @@ * Support for JDBC 2.x type mappings, including Arrays, CLOBs and BLOBs. * * @author brian zimmer - * @author last revised by $Author$ - * @version $Revision$ */ public class JDBC20DataHandler extends FilterDataHandler { Modified: branches/Release_2_5maint/jython/src/com/ziclix/python/sql/JDBC30DataHandler.java =================================================================== --- branches/Release_2_5maint/jython/src/com/ziclix/python/sql/JDBC30DataHandler.java 2011-04-30 23:27:49 UTC (rev 7289) +++ branches/Release_2_5maint/jython/src/com/ziclix/python/sql/JDBC30DataHandler.java 2011-04-30 23:41:10 UTC (rev 7290) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2002 brian zimmer <bz...@zi...> * @@ -18,8 +17,6 @@ * Support for JDBC 3.x additions, notably ParameterMetaData. * * @author brian zimmer - * @author last revised by $Author$ - * @version $Revision$ */ public class JDBC30DataHandler extends FilterDataHandler { Modified: branches/Release_2_5maint/jython/src/com/ziclix/python/sql/JavaDateFactory.java =================================================================== --- branches/Release_2_5maint/jython/src/com/ziclix/python/sql/JavaDateFactory.java 2011-04-30 23:27:49 UTC (rev 7289) +++ branches/Release_2_5maint/jython/src/com/ziclix/python/sql/JavaDateFactory.java 2011-04-30 23:41:10 UTC (rev 7290) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2003 brian zimmer <bz...@zi...> * @@ -19,8 +18,6 @@ * Produce java.[util|sql] type dates. * * @author brian zimmer - * @author last revised by $Author$ - * @version $Revision$ */ public class JavaDateFactory implements DateFactory { Modified: branches/Release_2_5maint/jython/src/com/ziclix/python/sql/Jython22DataHandler.java =================================================================== --- branches/Release_2_5maint/jython/src/com/ziclix/python/sql/Jython22DataHandler.java 2011-04-30 23:27:49 UTC (rev 7289) +++ branches/Release_2_5maint/jython/src/com/ziclix/python/sql/Jython22DataHandler.java 2011-04-30 23:41:10 UTC (rev 7290) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id: DataHandler.java 3708 2007-11-20 20:03:46Z pjenvey $ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -37,8 +36,6 @@ * objects for DATE, TIME and TIMESTAMP columns, instead of java.sql.* classes. * * @author brian zimmer - * @author last revised by $Author: pjenvey $ - * @version $Revision: 3708 $ */ public class Jython22DataHandler extends DataHandler { /** Modified: branches/Release_2_5maint/jython/src/com/ziclix/python/sql/Procedure.java =================================================================== --- branches/Release_2_5maint/jython/src/com/ziclix/python/sql/Procedure.java 2011-04-30 23:27:49 UTC (rev 7289) +++ branches/Release_2_5maint/jython/src/com/ziclix/python/sql/Procedure.java 2011-04-30 23:41:10 UTC (rev 7290) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -25,8 +24,6 @@ * the appropriate parameters. * * @author brian zimmer - * @author last modified by $Author$ - * @version $Revision$ */ public class Procedure extends Object { Modified: branches/Release_2_5maint/jython/src/com/ziclix/python/sql/PyConnection.java =================================================================== --- branches/Release_2_5maint/jython/src/com/ziclix/python/sql/PyConnection.java 2011-04-30 23:27:49 UTC (rev 7289) +++ branches/Release_2_5maint/jython/src/com/ziclix/python/sql/PyConnection.java 2011-04-30 23:41:10 UTC (rev 7290) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -33,8 +32,6 @@ * A connection to the database. * * @author brian zimmer - * @author last revised by $Author$ - * @version $Revision$ */ public class PyConnection extends PyObject implements ClassDictInit, ContextManager { Modified: branches/Release_2_5maint/jython/src/com/ziclix/python/sql/PyCursor.java =================================================================== --- branches/Release_2_5maint/jython/src/com/ziclix/python/sql/PyCursor.java 2011-04-30 23:27:49 UTC (rev 7289) +++ branches/Release_2_5maint/jython/src/com/ziclix/python/sql/PyCursor.java 2011-04-30 23:41:10 UTC (rev 7290) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -35,8 +34,6 @@ * context of a fetch operation. * * @author brian zimmer - * @author last revised by $Author$ - * @version $Revision$ */ public class PyCursor extends PyObject implements ClassDictInit, WarningListener, ContextManager { Modified: branches/Release_2_5maint/jython/src/com/ziclix/python/sql/PyExtendedCursor.java =================================================================== --- branches/Release_2_5maint/jython/src/com/ziclix/python/sql/PyExtendedCursor.java 2011-04-30 23:27:49 UTC (rev 7289) +++ branches/Release_2_5maint/jython/src/com/ziclix/python/sql/PyExtendedCursor.java 2011-04-30 23:41:10 UTC (rev 7290) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -22,8 +21,6 @@ * A cursor with extensions to the DB API 2.0. * * @author brian zimmer - * @author last revised by $Author$ - * @version $Revision$ */ public class PyExtendedCursor extends PyCursor { /** Modified: branches/Release_2_5maint/jython/src/com/ziclix/python/sql/PyStatement.java =================================================================== --- branches/Release_2_5maint/jython/src/com/ziclix/python/sql/PyStatement.java 2011-04-30 23:27:49 UTC (rev 7289) +++ branches/Release_2_5maint/jython/src/com/ziclix/python/sql/PyStatement.java 2011-04-30 23:41:10 UTC (rev 7290) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -25,7 +24,6 @@ * Class PyStatement * * @author brian zimmer - * @version $Revision$ */ public class PyStatement extends PyObject { Modified: branches/Release_2_5maint/jython/src/com/ziclix/python/sql/WarningEvent.java =================================================================== --- branches/Release_2_5maint/jython/src/com/ziclix/python/sql/WarningEvent.java 2011-04-30 23:27:49 UTC (rev 7289) +++ branches/Release_2_5maint/jython/src/com/ziclix/python/sql/WarningEvent.java 2011-04-30 23:41:10 UTC (rev 7290) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * Modified: branches/Release_2_5maint/jython/src/com/ziclix/python/sql/WarningListener.java =================================================================== --- branches/Release_2_5maint/jython/src/com/ziclix/python/sql/WarningListener.java 2011-04-30 23:27:49 UTC (rev 7289) +++ branches/Release_2_5maint/jython/src/com/ziclix/python/sql/WarningListener.java 2011-04-30 23:41:10 UTC (rev 7290) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * Modified: branches/Release_2_5maint/jython/src/com/ziclix/python/sql/connect/Connect.java =================================================================== --- branches/Release_2_5maint/jython/src/com/ziclix/python/sql/connect/Connect.java 2011-04-30 23:27:49 UTC (rev 7289) +++ branches/Release_2_5maint/jython/src/com/ziclix/python/sql/connect/Connect.java 2011-04-30 23:41:10 UTC (rev 7290) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -19,8 +18,6 @@ * Connect using DriverManager. * * @author brian zimmer - * @author last revised by $Author$ - * @version $Revision$ */ public class Connect extends PyObject { Modified: branches/Release_2_5maint/jython/src/com/ziclix/python/sql/connect/Connectx.java =================================================================== --- branches/Release_2_5maint/jython/src/com/ziclix/python/sql/connect/Connectx.java 2011-04-30 23:27:49 UTC (rev 7289) +++ branches/Release_2_5maint/jython/src/com/ziclix/python/sql/connect/Connectx.java 2011-04-30 23:41:10 UTC (rev 7290) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -29,8 +28,6 @@ * Connect using through a javax.sql.DataSource or javax.sql.ConnectionPooledDataSource. * * @author brian zimmer - * @author last revised by $Author$ - * @version $Revision$ */ public class Connectx extends PyObject { Modified: branches/Release_2_5maint/jython/src/com/ziclix/python/sql/connect/Lookup.java =================================================================== --- branches/Release_2_5maint/jython/src/com/ziclix/python/sql/connect/Lookup.java 2011-04-30 23:27:49 UTC (rev 7289) +++ branches/Release_2_5maint/jython/src/com/ziclix/python/sql/connect/Lookup.java 2011-04-30 23:41:10 UTC (rev 7290) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -36,8 +35,6 @@ * <code>Connection</code> is established using the object. * * @author brian zimmer - * @author last revised by $Author$ - * @version $Revision$ */ public class Lookup extends PyObject { Modified: branches/Release_2_5maint/jython/src/com/ziclix/python/sql/handler/InformixDataHandler.java =================================================================== --- branches/Release_2_5maint/jython/src/com/ziclix/python/sql/handler/InformixDataHandler.java 2011-04-30 23:27:49 UTC (rev 7289) +++ branches/Release_2_5maint/jython/src/com/ziclix/python/sql/handler/InformixDataHandler.java 2011-04-30 23:41:10 UTC (rev 7290) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -30,8 +29,6 @@ * Informix specific data handling. * * @author brian zimmer - * @author last revised by $Author$ - * @version $Revision$ */ public class InformixDataHandler extends FilterDataHandler { Modified: branches/Release_2_5maint/jython/src/com/ziclix/python/sql/handler/MySQLDataHandler.java =================================================================== --- branches/Release_2_5maint/jython/src/com/ziclix/python/sql/handler/MySQLDataHandler.java 2011-04-30 23:27:49 UTC (rev 7289) +++ branches/Release_2_5maint/jython/src/com/ziclix/python/sql/handler/MySQLDataHandler.java 2011-04-30 23:41:10 UTC (rev 7290) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -25,8 +24,6 @@ * MySQL specific data handling. * * @author brian zimmer - * @author last revised by $Author$ - * @version $Revision$ */ public class MySQLDataHandler extends RowIdHandler { Modified: branches/Release_2_5maint/jython/src/com/ziclix/python/sql/handler/OracleDataHandler.java =================================================================== --- branches/Release_2_5maint/jython/src/com/ziclix/python/sql/handler/OracleDataHandler.java 2011-04-30 23:27:49 UTC (rev 7289) +++ branches/Release_2_5maint/jython/src/com/ziclix/python/sql/handler/OracleDataHandler.java 2011-04-30 23:41:10 UTC (rev 7290) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -32,8 +31,6 @@ * Oracle specific data handling. * * @author brian zimmer - * @author last revised by $Author$ - * @version $Revision$ */ public class OracleDataHandler extends FilterDataHandler { Modified: branches/Release_2_5maint/jython/src/com/ziclix/python/sql/handler/PostgresqlDataHandler.java =================================================================== --- branches/Release_2_5maint/jython/src/com/ziclix/python/sql/handler/PostgresqlDataHandler.java 2011-04-30 23:27:49 UTC (rev 7289) +++ branches/Release_2_5maint/jython/src/com/ziclix/python/sql/handler/PostgresqlDataHandler.java 2011-04-30 23:41:10 UTC (rev 7290) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * -* $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -24,8 +23,6 @@ * Postgresql specific data handling. * * @author brian zimmer - * @author last revised by $Author$ - * @version $Revision$ */ public class PostgresqlDataHandler extends RowIdHandler { Modified: branches/Release_2_5maint/jython/src/com/ziclix/python/sql/handler/RowIdHandler.java =================================================================== --- branches/Release_2_5maint/jython/src/com/ziclix/python/sql/handler/RowIdHandler.java 2011-04-30 23:27:49 UTC (rev 7289) +++ branches/Release_2_5maint/jython/src/com/ziclix/python/sql/handler/RowIdHandler.java 2011-04-30 23:41:10 UTC (rev 7290) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -24,8 +23,6 @@ * Handle the rowid methods since the API is not available until JDBC 3.0. * * @author brian zimmer - * @author last revised by $Author$ - * @version $Revision$ */ public abstract class RowIdHandler extends FilterDataHandler { Modified: branches/Release_2_5maint/jython/src/com/ziclix/python/sql/handler/SQLServerDataHandler.java =================================================================== --- branches/Release_2_5maint/jython/src/com/ziclix/python/sql/handler/SQLServerDataHandler.java 2011-04-30 23:27:49 UTC (rev 7289) +++ branches/Release_2_5maint/jython/src/com/ziclix/python/sql/handler/SQLServerDataHandler.java 2011-04-30 23:41:10 UTC (rev 7290) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -24,8 +23,6 @@ * SQLServer specific data handling. * * @author brian zimmer - * @author last revised by $Author$ - * @version $Revision$ */ public class SQLServerDataHandler extends FilterDataHandler { Modified: branches/Release_2_5maint/jython/src/com/ziclix/python/sql/handler/UpdateCountDataHandler.java =================================================================== --- branches/Release_2_5maint/jython/src/com/ziclix/python/sql/handler/UpdateCountDataHandler.java 2011-04-30 23:27:49 UTC (rev 7289) +++ branches/Release_2_5maint/jython/src/com/ziclix/python/sql/handler/UpdateCountDataHandler.java 2011-04-30 23:41:10 UTC (rev 7290) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -27,8 +26,6 @@ * <code>0</code>.</p> * * @author brian zimmer - * @author last revised by $Author$ - * @version $Revision$ * @see java.sql.Statement#getUpdateCount() */ public class UpdateCountDataHandler extends FilterDataHandler { Modified: branches/Release_2_5maint/jython/src/com/ziclix/python/sql/pipe/Pipe.java =================================================================== --- branches/Release_2_5maint/jython/src/com/ziclix/python/sql/pipe/Pipe.java 2011-04-30 23:27:49 UTC (rev 7289) +++ branches/Release_2_5maint/jython/src/com/ziclix/python/sql/pipe/Pipe.java 2011-04-30 23:41:10 UTC (rev 7290) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -21,7 +20,6 @@ * or table to another. * * @author brian zimmer - * @version $Revision$ */ public class Pipe { @@ -104,10 +102,7 @@ * Class PipeRunner * * @author - * @author last modified by $Author$ - * @version $Revision$ * @date $today.date$ - * @date last modified on $Date$ * @copyright 2001 brian zimmer */ abstract class PipeRunner extends Thread { @@ -193,10 +188,7 @@ * Class SourceRunner * * @author - * @author last modified by $Author$ - * @version $Revision$ * @date $today.date$ - * @date last modified on $Date$ * @copyright 2001 brian zimmer */ class SourceRunner extends PipeRunner { @@ -250,10 +242,7 @@ * Class SinkRunner * * @author - * @author last modified by $Author$ - * @version $Revision$ * @date $today.date$ - * @date last modified on $Date$ * @copyright 2001 brian zimmer */ class SinkRunner extends PipeRunner { Modified: branches/Release_2_5maint/jython/src/com/ziclix/python/sql/pipe/Sink.java =================================================================== --- branches/Release_2_5maint/jython/src/com/ziclix/python/sql/pipe/Sink.java 2011-04-30 23:27:49 UTC (rev 7289) +++ branches/Release_2_5maint/jython/src/com/ziclix/python/sql/pipe/Sink.java 2011-04-30 23:41:10 UTC (rev 7290) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -15,7 +14,6 @@ * to the Sink as generated by the Source. * * @author brian zimmer - * @version $Revision$ */ public interface Sink { Modified: branches/Release_2_5maint/jython/src/com/ziclix/python/sql/pipe/Source.java =================================================================== --- branches/Release_2_5maint/jython/src/com/ziclix/python/sql/pipe/Source.java 2011-04-30 23:27:49 UTC (rev 7289) +++ branches/Release_2_5maint/jython/src/com/ziclix/python/sql/pipe/Source.java 2011-04-30 23:41:10 UTC (rev 7290) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -15,7 +14,6 @@ * from anywhere, but must follow the format detail in next(). * * @author brian zimmer - * @version $Revision$ * @see #next * @see Sink */ Modified: branches/Release_2_5maint/jython/src/com/ziclix/python/sql/pipe/csv/CSVSink.java =================================================================== --- branches/Release_2_5maint/jython/src/com/ziclix/python/sql/pipe/csv/CSVSink.java 2011-04-30 23:27:49 UTC (rev 7289) +++ branches/Release_2_5maint/jython/src/com/ziclix/python/sql/pipe/csv/CSVSink.java 2011-04-30 23:41:10 UTC (rev 7290) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -18,7 +17,6 @@ * The CSVSink writes data out in a Comma Seperated Format. * * @author brian zimmer - * @version $Revision$ */ public class CSVSink implements Sink { Modified: branches/Release_2_5maint/jython/src/com/ziclix/python/sql/pipe/csv/CSVString.java =================================================================== --- branches/Release_2_5maint/jython/src/com/ziclix/python/sql/pipe/csv/CSVString.java 2011-04-30 23:27:49 UTC (rev 7289) +++ branches/Release_2_5maint/jython/src/com/ziclix/python/sql/pipe/csv/CSVString.java 2011-04-30 23:41:10 UTC (rev 7290) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -12,7 +11,6 @@ * A utility class to aide in quoting CSV strings. * * @author brian zimmer - * @version $Revision$ */ public class CSVString { Modified: branches/Release_2_5maint/jython/src/com/ziclix/python/sql/pipe/db/BaseDB.java =================================================================== --- branches/Release_2_5maint/jython/src/com/ziclix/python/sql/pipe/db/BaseDB.java 2011-04-30 23:27:49 UTC (rev 7289) +++ branches/Release_2_5maint/jython/src/com/ziclix/python/sql/pipe/db/BaseDB.java 2011-04-30 23:41:10 UTC (rev 7290) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -20,7 +19,6 @@ * Abstract class to assist in generating cursors. * * @author brian zimmer - * @version $Revision$ */ public abstract class BaseDB { Modified: branches/Release_2_5maint/jython/src/com/ziclix/python/sql/pipe/db/DBSink.java =================================================================== --- branches/Release_2_5maint/jython/src/com/ziclix/python/sql/pipe/db/DBSink.java 2011-04-30 23:27:49 UTC (rev 7289) +++ branches/Release_2_5maint/jython/src/com/ziclix/python/sql/pipe/db/DBSink.java 2011-04-30 23:41:10 UTC (rev 7290) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -24,7 +23,6 @@ * A database consumer. All data transferred will be inserted into the appropriate table. * * @author brian zimmer - * @version $Revision$ */ public class DBSink extends BaseDB implements Sink { Modified: branches/Release_2_5maint/jython/src/com/ziclix/python/sql/pipe/db/DBSource.java =================================================================== --- branches/Release_2_5maint/jython/src/com/ziclix/python/sql/pipe/db/DBSource.java 2011-04-30 23:27:49 UTC (rev 7289) +++ branches/Release_2_5maint/jython/src/com/ziclix/python/sql/pipe/db/DBSource.java 2011-04-30 23:41:10 UTC (rev 7290) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -18,7 +17,6 @@ * A database source. Given a PyConnection and information about the query, produce the data. * * @author brian zimmer - * @version $Revision$ */ public class DBSource extends BaseDB implements Source { Modified: branches/Release_2_5maint/jython/src/com/ziclix/python/sql/procedure/SQLServerProcedure.java =================================================================== --- branches/Release_2_5maint/jython/src/com/ziclix/python/sql/procedure/SQLServerProcedure.java 2011-04-30 23:27:49 UTC (rev 7289) +++ branches/Release_2_5maint/jython/src/com/ziclix/python/sql/procedure/SQLServerProcedure.java 2011-04-30 23:41:10 UTC (rev 7290) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2002 brian zimmer <mailto:bz...@zi...> * @@ -19,8 +18,6 @@ * Stored procedure support for SQLServer. * * @author brian zimmer - * @author last revised by $Author$ - * @version $Revision$ */ public class SQLServerProcedure extends Procedure { Modified: branches/Release_2_5maint/jython/src/com/ziclix/python/sql/util/BCP.java =================================================================== --- branches/Release_2_5maint/jython/src/com/ziclix/python/sql/util/BCP.java 2011-04-30 23:27:49 UTC (rev 7289) +++ branches/Release_2_5maint/jython/src/com/ziclix/python/sql/util/BCP.java 2011-04-30 23:41:10 UTC (rev 7290) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -188,9 +187,6 @@ } /** - * @author last modified by $Author$ - * @version $Revision$ - * @date last modified on $Date$ * @copyright 2001 brian zimmer */ class BCPFunc extends PyBuiltinMethodSet { Modified: branches/Release_2_5maint/jython/src/com/ziclix/python/sql/util/PyArgParser.java =================================================================== --- branches/Release_2_5maint/jython/src/com/ziclix/python/sql/util/PyArgParser.java 2011-04-30 23:27:49 UTC (rev 7289) +++ branches/Release_2_5maint/jython/src/com/ziclix/python/sql/util/PyArgParser.java 2011-04-30 23:41:10 UTC (rev 7290) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -18,7 +17,6 @@ * Parse the args and kws for a method call. * * @author brian zimmer - * @version $Revision$ */ public class PyArgParser extends Object { Modified: branches/Release_2_5maint/jython/src/com/ziclix/python/sql/util/Queue.java =================================================================== --- branches/Release_2_5maint/jython/src/com/ziclix/python/sql/util/Queue.java 2011-04-30 23:27:49 UTC (rev 7289) +++ branches/Release_2_5maint/jython/src/com/ziclix/python/sql/util/Queue.java 2011-04-30 23:41:10 UTC (rev 7290) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -16,7 +15,6 @@ * queue size under a certain threshold. * * @author brian zimmer - * @version $Revision$ */ public class Queue { Modified: branches/Release_2_5maint/jython/src/com/ziclix/python/sql/util/QueueClosedException.java =================================================================== --- branches/Release_2_5maint/jython/src/com/ziclix/python/sql/util/QueueClosedException.java 2011-04-30 23:27:49 UTC (rev 7289) +++ branches/Release_2_5maint/jython/src/com/ziclix/python/sql/util/QueueClosedException.java 2011-04-30 23:41:10 UTC (rev 7290) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -12,7 +11,6 @@ * This exception is thrown when the queue is closed and an operation is attempted. * * @author brian zimmer - * @version $Revision$ */ public class QueueClosedException extends RuntimeException { Modified: branches/Release_2_5maint/jython/src/com/ziclix/python/sql/zxJDBC.java =================================================================== --- branches/Release_2_5maint/jython/src/com/ziclix/python/sql/zxJDBC.java 2011-04-30 23:27:49 UTC (rev 7289) +++ branches/Release_2_5maint/jython/src/com/ziclix/python/sql/zxJDBC.java 2011-04-30 23:41:10 UTC (rev 7290) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -41,8 +40,6 @@ * </pre> * * @author brian zimmer - * @author last revised by $Author$ - * @version $Revision$ */ public class zxJDBC extends PyObject implements ClassDictInit { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pj...@us...> - 2011-04-30 23:27:57
|
Revision: 7289 http://jython.svn.sourceforge.net/jython/?rev=7289&view=rev Author: pjenvey Date: 2011-04-30 23:27:49 +0000 (Sat, 30 Apr 2011) Log Message: ----------- remove svn keywords in comments Modified Paths: -------------- trunk/jython/Lib/dbexts.py trunk/jython/Lib/isql.py trunk/jython/Lib/test/zxjdbc/dbextstest.py trunk/jython/Lib/test/zxjdbc/jndi.py trunk/jython/Lib/test/zxjdbc/runner.py trunk/jython/Lib/test/zxjdbc/sptest.py trunk/jython/Lib/test/zxjdbc/test_zxjdbc_dbapi20.py trunk/jython/Lib/test/zxjdbc/zxtest.py trunk/jython/src/com/ziclix/python/sql/DBApiType.java trunk/jython/src/com/ziclix/python/sql/DataHandler.java trunk/jython/src/com/ziclix/python/sql/DateFactory.java trunk/jython/src/com/ziclix/python/sql/Fetch.java trunk/jython/src/com/ziclix/python/sql/FilterDataHandler.java trunk/jython/src/com/ziclix/python/sql/JDBC20DataHandler.java trunk/jython/src/com/ziclix/python/sql/JDBC30DataHandler.java trunk/jython/src/com/ziclix/python/sql/JavaDateFactory.java trunk/jython/src/com/ziclix/python/sql/Jython22DataHandler.java trunk/jython/src/com/ziclix/python/sql/Procedure.java trunk/jython/src/com/ziclix/python/sql/PyConnection.java trunk/jython/src/com/ziclix/python/sql/PyCursor.java trunk/jython/src/com/ziclix/python/sql/PyExtendedCursor.java trunk/jython/src/com/ziclix/python/sql/PyStatement.java trunk/jython/src/com/ziclix/python/sql/WarningEvent.java trunk/jython/src/com/ziclix/python/sql/WarningListener.java trunk/jython/src/com/ziclix/python/sql/connect/Connect.java trunk/jython/src/com/ziclix/python/sql/connect/Connectx.java trunk/jython/src/com/ziclix/python/sql/connect/Lookup.java trunk/jython/src/com/ziclix/python/sql/handler/InformixDataHandler.java trunk/jython/src/com/ziclix/python/sql/handler/MySQLDataHandler.java trunk/jython/src/com/ziclix/python/sql/handler/OracleDataHandler.java trunk/jython/src/com/ziclix/python/sql/handler/PostgresqlDataHandler.java trunk/jython/src/com/ziclix/python/sql/handler/RowIdHandler.java trunk/jython/src/com/ziclix/python/sql/handler/SQLServerDataHandler.java trunk/jython/src/com/ziclix/python/sql/handler/UpdateCountDataHandler.java trunk/jython/src/com/ziclix/python/sql/pipe/Pipe.java trunk/jython/src/com/ziclix/python/sql/pipe/Sink.java trunk/jython/src/com/ziclix/python/sql/pipe/Source.java trunk/jython/src/com/ziclix/python/sql/pipe/csv/CSVSink.java trunk/jython/src/com/ziclix/python/sql/pipe/csv/CSVString.java trunk/jython/src/com/ziclix/python/sql/pipe/db/BaseDB.java trunk/jython/src/com/ziclix/python/sql/pipe/db/DBSink.java trunk/jython/src/com/ziclix/python/sql/pipe/db/DBSource.java trunk/jython/src/com/ziclix/python/sql/procedure/SQLServerProcedure.java trunk/jython/src/com/ziclix/python/sql/util/BCP.java trunk/jython/src/com/ziclix/python/sql/util/PyArgParser.java trunk/jython/src/com/ziclix/python/sql/util/Queue.java trunk/jython/src/com/ziclix/python/sql/util/QueueClosedException.java trunk/jython/src/com/ziclix/python/sql/zxJDBC.java Modified: trunk/jython/Lib/dbexts.py =================================================================== --- trunk/jython/Lib/dbexts.py 2011-04-23 00:27:30 UTC (rev 7288) +++ trunk/jython/Lib/dbexts.py 2011-04-30 23:27:49 UTC (rev 7289) @@ -1,5 +1,3 @@ -# $Id$ - """ This script provides platform independence by wrapping Python Database API 2.0 compatible drivers to allow seamless database Modified: trunk/jython/Lib/isql.py =================================================================== --- trunk/jython/Lib/isql.py 2011-04-23 00:27:30 UTC (rev 7288) +++ trunk/jython/Lib/isql.py 2011-04-30 23:27:49 UTC (rev 7289) @@ -1,5 +1,3 @@ -# $Id$ - import dbexts, cmd, sys, os """ Modified: trunk/jython/Lib/test/zxjdbc/dbextstest.py =================================================================== --- trunk/jython/Lib/test/zxjdbc/dbextstest.py 2011-04-23 00:27:30 UTC (rev 7288) +++ trunk/jython/Lib/test/zxjdbc/dbextstest.py 2011-04-30 23:27:49 UTC (rev 7289) @@ -1,8 +1,6 @@ # Jython Database Specification API 2.0 # -# $Id$ -# # Copyright (c) 2001 brian zimmer <bz...@zi...> import dbexts, runner, tempfile, os Modified: trunk/jython/Lib/test/zxjdbc/jndi.py =================================================================== --- trunk/jython/Lib/test/zxjdbc/jndi.py 2011-04-23 00:27:30 UTC (rev 7288) +++ trunk/jython/Lib/test/zxjdbc/jndi.py 2011-04-30 23:27:49 UTC (rev 7289) @@ -1,8 +1,5 @@ - # Jython Database Specification API 2.0 # -# $Id$ -# # Copyright (c) 2001 brian zimmer <bz...@zi...> """ Modified: trunk/jython/Lib/test/zxjdbc/runner.py =================================================================== --- trunk/jython/Lib/test/zxjdbc/runner.py 2011-04-23 00:27:30 UTC (rev 7288) +++ trunk/jython/Lib/test/zxjdbc/runner.py 2011-04-30 23:27:49 UTC (rev 7289) @@ -1,8 +1,5 @@ - # Jython Database Specification API 2.0 # -# $Id$ -# # Copyright (c) 2001 brian zimmer <bz...@zi...> """ Modified: trunk/jython/Lib/test/zxjdbc/sptest.py =================================================================== --- trunk/jython/Lib/test/zxjdbc/sptest.py 2011-04-23 00:27:30 UTC (rev 7288) +++ trunk/jython/Lib/test/zxjdbc/sptest.py 2011-04-30 23:27:49 UTC (rev 7289) @@ -1,8 +1,5 @@ - # Jython Database Specification API 2.0 # -# $Id$ -# # Copyright (c) 2001 brian zimmer <bz...@zi...> from zxtest import zxCoreTestCase Modified: trunk/jython/Lib/test/zxjdbc/test_zxjdbc_dbapi20.py =================================================================== --- trunk/jython/Lib/test/zxjdbc/test_zxjdbc_dbapi20.py 2011-04-23 00:27:30 UTC (rev 7288) +++ trunk/jython/Lib/test/zxjdbc/test_zxjdbc_dbapi20.py 2011-04-30 23:27:49 UTC (rev 7289) @@ -1,7 +1,4 @@ #!/usr/bin/env jython - -# $Id$ - """ This is to be used with the DB API compatibility test available @ http://stuartbishop.net/Software/DBAPI20TestSuite/ Modified: trunk/jython/Lib/test/zxjdbc/zxtest.py =================================================================== --- trunk/jython/Lib/test/zxjdbc/zxtest.py 2011-04-23 00:27:30 UTC (rev 7288) +++ trunk/jython/Lib/test/zxjdbc/zxtest.py 2011-04-30 23:27:49 UTC (rev 7289) @@ -1,8 +1,5 @@ - # Jython Database Specification API 2.0 # -# $Id$ -# # Copyright (c) 2001 brian zimmer <bz...@zi...> from com.ziclix.python.sql import zxJDBC Modified: trunk/jython/src/com/ziclix/python/sql/DBApiType.java =================================================================== --- trunk/jython/src/com/ziclix/python/sql/DBApiType.java 2011-04-23 00:27:30 UTC (rev 7288) +++ trunk/jython/src/com/ziclix/python/sql/DBApiType.java 2011-04-30 23:27:49 UTC (rev 7289) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -17,8 +16,6 @@ * a SQL datatype value. * * @author brian zimmer - * @author last modified by $Author$ - * @version $Revision$ */ public final class DBApiType extends PyInteger { Modified: trunk/jython/src/com/ziclix/python/sql/DataHandler.java =================================================================== --- trunk/jython/src/com/ziclix/python/sql/DataHandler.java 2011-04-23 00:27:30 UTC (rev 7288) +++ trunk/jython/src/com/ziclix/python/sql/DataHandler.java 2011-04-30 23:27:49 UTC (rev 7289) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -46,8 +45,6 @@ * CLOBs and Arrays. * * @author brian zimmer - * @author last revised by $Author$ - * @version $Revision$ */ public class DataHandler { Modified: trunk/jython/src/com/ziclix/python/sql/DateFactory.java =================================================================== --- trunk/jython/src/com/ziclix/python/sql/DateFactory.java 2011-04-23 00:27:30 UTC (rev 7288) +++ trunk/jython/src/com/ziclix/python/sql/DateFactory.java 2011-04-30 23:27:49 UTC (rev 7289) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2003 brian zimmer <bz...@zi...> * @@ -14,8 +13,6 @@ * Provide an extensible way to create dates for zxJDBC. * * @author brian zimmer - * @author last revised by $Author$ - * @version $Revision$ */ public interface DateFactory { Modified: trunk/jython/src/com/ziclix/python/sql/Fetch.java =================================================================== --- trunk/jython/src/com/ziclix/python/sql/Fetch.java 2011-04-23 00:27:30 UTC (rev 7288) +++ trunk/jython/src/com/ziclix/python/sql/Fetch.java 2011-04-30 23:27:49 UTC (rev 7289) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -48,7 +47,6 @@ * require the entire result set be presented as one.</p> * * @author brian zimmer - * @version $Revision$ */ abstract public class Fetch { Modified: trunk/jython/src/com/ziclix/python/sql/FilterDataHandler.java =================================================================== --- trunk/jython/src/com/ziclix/python/sql/FilterDataHandler.java 2011-04-23 00:27:30 UTC (rev 7288) +++ trunk/jython/src/com/ziclix/python/sql/FilterDataHandler.java 2011-04-30 23:27:49 UTC (rev 7289) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -25,8 +24,6 @@ * pass all requests to the contained data handler. * * @author brian zimmer - * @author last revised by $Author$ - * @version $Revision$ */ public abstract class FilterDataHandler extends DataHandler { Modified: trunk/jython/src/com/ziclix/python/sql/JDBC20DataHandler.java =================================================================== --- trunk/jython/src/com/ziclix/python/sql/JDBC20DataHandler.java 2011-04-23 00:27:30 UTC (rev 7288) +++ trunk/jython/src/com/ziclix/python/sql/JDBC20DataHandler.java 2011-04-30 23:27:49 UTC (rev 7289) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -29,8 +28,6 @@ * Support for JDBC 2.x type mappings, including Arrays, CLOBs and BLOBs. * * @author brian zimmer - * @author last revised by $Author$ - * @version $Revision$ */ public class JDBC20DataHandler extends FilterDataHandler { Modified: trunk/jython/src/com/ziclix/python/sql/JDBC30DataHandler.java =================================================================== --- trunk/jython/src/com/ziclix/python/sql/JDBC30DataHandler.java 2011-04-23 00:27:30 UTC (rev 7288) +++ trunk/jython/src/com/ziclix/python/sql/JDBC30DataHandler.java 2011-04-30 23:27:49 UTC (rev 7289) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2002 brian zimmer <bz...@zi...> * @@ -18,8 +17,6 @@ * Support for JDBC 3.x additions, notably ParameterMetaData. * * @author brian zimmer - * @author last revised by $Author$ - * @version $Revision$ */ public class JDBC30DataHandler extends FilterDataHandler { Modified: trunk/jython/src/com/ziclix/python/sql/JavaDateFactory.java =================================================================== --- trunk/jython/src/com/ziclix/python/sql/JavaDateFactory.java 2011-04-23 00:27:30 UTC (rev 7288) +++ trunk/jython/src/com/ziclix/python/sql/JavaDateFactory.java 2011-04-30 23:27:49 UTC (rev 7289) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2003 brian zimmer <bz...@zi...> * @@ -19,8 +18,6 @@ * Produce java.[util|sql] type dates. * * @author brian zimmer - * @author last revised by $Author$ - * @version $Revision$ */ public class JavaDateFactory implements DateFactory { Modified: trunk/jython/src/com/ziclix/python/sql/Jython22DataHandler.java =================================================================== --- trunk/jython/src/com/ziclix/python/sql/Jython22DataHandler.java 2011-04-23 00:27:30 UTC (rev 7288) +++ trunk/jython/src/com/ziclix/python/sql/Jython22DataHandler.java 2011-04-30 23:27:49 UTC (rev 7289) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id: DataHandler.java 3708 2007-11-20 20:03:46Z pjenvey $ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -37,8 +36,6 @@ * objects for DATE, TIME and TIMESTAMP columns, instead of java.sql.* classes. * * @author brian zimmer - * @author last revised by $Author: pjenvey $ - * @version $Revision: 3708 $ */ public class Jython22DataHandler extends DataHandler { /** Modified: trunk/jython/src/com/ziclix/python/sql/Procedure.java =================================================================== --- trunk/jython/src/com/ziclix/python/sql/Procedure.java 2011-04-23 00:27:30 UTC (rev 7288) +++ trunk/jython/src/com/ziclix/python/sql/Procedure.java 2011-04-30 23:27:49 UTC (rev 7289) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -25,8 +24,6 @@ * the appropriate parameters. * * @author brian zimmer - * @author last modified by $Author$ - * @version $Revision$ */ public class Procedure extends Object { Modified: trunk/jython/src/com/ziclix/python/sql/PyConnection.java =================================================================== --- trunk/jython/src/com/ziclix/python/sql/PyConnection.java 2011-04-23 00:27:30 UTC (rev 7288) +++ trunk/jython/src/com/ziclix/python/sql/PyConnection.java 2011-04-30 23:27:49 UTC (rev 7289) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -33,8 +32,6 @@ * A connection to the database. * * @author brian zimmer - * @author last revised by $Author$ - * @version $Revision$ */ public class PyConnection extends PyObject implements ClassDictInit, ContextManager { Modified: trunk/jython/src/com/ziclix/python/sql/PyCursor.java =================================================================== --- trunk/jython/src/com/ziclix/python/sql/PyCursor.java 2011-04-23 00:27:30 UTC (rev 7288) +++ trunk/jython/src/com/ziclix/python/sql/PyCursor.java 2011-04-30 23:27:49 UTC (rev 7289) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -35,8 +34,6 @@ * context of a fetch operation. * * @author brian zimmer - * @author last revised by $Author$ - * @version $Revision$ */ public class PyCursor extends PyObject implements ClassDictInit, WarningListener, ContextManager { Modified: trunk/jython/src/com/ziclix/python/sql/PyExtendedCursor.java =================================================================== --- trunk/jython/src/com/ziclix/python/sql/PyExtendedCursor.java 2011-04-23 00:27:30 UTC (rev 7288) +++ trunk/jython/src/com/ziclix/python/sql/PyExtendedCursor.java 2011-04-30 23:27:49 UTC (rev 7289) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -22,8 +21,6 @@ * A cursor with extensions to the DB API 2.0. * * @author brian zimmer - * @author last revised by $Author$ - * @version $Revision$ */ public class PyExtendedCursor extends PyCursor { /** Modified: trunk/jython/src/com/ziclix/python/sql/PyStatement.java =================================================================== --- trunk/jython/src/com/ziclix/python/sql/PyStatement.java 2011-04-23 00:27:30 UTC (rev 7288) +++ trunk/jython/src/com/ziclix/python/sql/PyStatement.java 2011-04-30 23:27:49 UTC (rev 7289) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -25,7 +24,6 @@ * Class PyStatement * * @author brian zimmer - * @version $Revision$ */ public class PyStatement extends PyObject { Modified: trunk/jython/src/com/ziclix/python/sql/WarningEvent.java =================================================================== --- trunk/jython/src/com/ziclix/python/sql/WarningEvent.java 2011-04-23 00:27:30 UTC (rev 7288) +++ trunk/jython/src/com/ziclix/python/sql/WarningEvent.java 2011-04-30 23:27:49 UTC (rev 7289) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * Modified: trunk/jython/src/com/ziclix/python/sql/WarningListener.java =================================================================== --- trunk/jython/src/com/ziclix/python/sql/WarningListener.java 2011-04-23 00:27:30 UTC (rev 7288) +++ trunk/jython/src/com/ziclix/python/sql/WarningListener.java 2011-04-30 23:27:49 UTC (rev 7289) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * Modified: trunk/jython/src/com/ziclix/python/sql/connect/Connect.java =================================================================== --- trunk/jython/src/com/ziclix/python/sql/connect/Connect.java 2011-04-23 00:27:30 UTC (rev 7288) +++ trunk/jython/src/com/ziclix/python/sql/connect/Connect.java 2011-04-30 23:27:49 UTC (rev 7289) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -19,8 +18,6 @@ * Connect using DriverManager. * * @author brian zimmer - * @author last revised by $Author$ - * @version $Revision$ */ public class Connect extends PyObject { Modified: trunk/jython/src/com/ziclix/python/sql/connect/Connectx.java =================================================================== --- trunk/jython/src/com/ziclix/python/sql/connect/Connectx.java 2011-04-23 00:27:30 UTC (rev 7288) +++ trunk/jython/src/com/ziclix/python/sql/connect/Connectx.java 2011-04-30 23:27:49 UTC (rev 7289) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -29,8 +28,6 @@ * Connect using through a javax.sql.DataSource or javax.sql.ConnectionPooledDataSource. * * @author brian zimmer - * @author last revised by $Author$ - * @version $Revision$ */ public class Connectx extends PyObject { Modified: trunk/jython/src/com/ziclix/python/sql/connect/Lookup.java =================================================================== --- trunk/jython/src/com/ziclix/python/sql/connect/Lookup.java 2011-04-23 00:27:30 UTC (rev 7288) +++ trunk/jython/src/com/ziclix/python/sql/connect/Lookup.java 2011-04-30 23:27:49 UTC (rev 7289) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -36,8 +35,6 @@ * <code>Connection</code> is established using the object. * * @author brian zimmer - * @author last revised by $Author$ - * @version $Revision$ */ public class Lookup extends PyObject { Modified: trunk/jython/src/com/ziclix/python/sql/handler/InformixDataHandler.java =================================================================== --- trunk/jython/src/com/ziclix/python/sql/handler/InformixDataHandler.java 2011-04-23 00:27:30 UTC (rev 7288) +++ trunk/jython/src/com/ziclix/python/sql/handler/InformixDataHandler.java 2011-04-30 23:27:49 UTC (rev 7289) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -30,8 +29,6 @@ * Informix specific data handling. * * @author brian zimmer - * @author last revised by $Author$ - * @version $Revision$ */ public class InformixDataHandler extends FilterDataHandler { Modified: trunk/jython/src/com/ziclix/python/sql/handler/MySQLDataHandler.java =================================================================== --- trunk/jython/src/com/ziclix/python/sql/handler/MySQLDataHandler.java 2011-04-23 00:27:30 UTC (rev 7288) +++ trunk/jython/src/com/ziclix/python/sql/handler/MySQLDataHandler.java 2011-04-30 23:27:49 UTC (rev 7289) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -25,8 +24,6 @@ * MySQL specific data handling. * * @author brian zimmer - * @author last revised by $Author$ - * @version $Revision$ */ public class MySQLDataHandler extends RowIdHandler { Modified: trunk/jython/src/com/ziclix/python/sql/handler/OracleDataHandler.java =================================================================== --- trunk/jython/src/com/ziclix/python/sql/handler/OracleDataHandler.java 2011-04-23 00:27:30 UTC (rev 7288) +++ trunk/jython/src/com/ziclix/python/sql/handler/OracleDataHandler.java 2011-04-30 23:27:49 UTC (rev 7289) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -32,8 +31,6 @@ * Oracle specific data handling. * * @author brian zimmer - * @author last revised by $Author$ - * @version $Revision$ */ public class OracleDataHandler extends FilterDataHandler { Modified: trunk/jython/src/com/ziclix/python/sql/handler/PostgresqlDataHandler.java =================================================================== --- trunk/jython/src/com/ziclix/python/sql/handler/PostgresqlDataHandler.java 2011-04-23 00:27:30 UTC (rev 7288) +++ trunk/jython/src/com/ziclix/python/sql/handler/PostgresqlDataHandler.java 2011-04-30 23:27:49 UTC (rev 7289) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * -* $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -24,8 +23,6 @@ * Postgresql specific data handling. * * @author brian zimmer - * @author last revised by $Author$ - * @version $Revision$ */ public class PostgresqlDataHandler extends RowIdHandler { Modified: trunk/jython/src/com/ziclix/python/sql/handler/RowIdHandler.java =================================================================== --- trunk/jython/src/com/ziclix/python/sql/handler/RowIdHandler.java 2011-04-23 00:27:30 UTC (rev 7288) +++ trunk/jython/src/com/ziclix/python/sql/handler/RowIdHandler.java 2011-04-30 23:27:49 UTC (rev 7289) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -24,8 +23,6 @@ * Handle the rowid methods since the API is not available until JDBC 3.0. * * @author brian zimmer - * @author last revised by $Author$ - * @version $Revision$ */ public abstract class RowIdHandler extends FilterDataHandler { Modified: trunk/jython/src/com/ziclix/python/sql/handler/SQLServerDataHandler.java =================================================================== --- trunk/jython/src/com/ziclix/python/sql/handler/SQLServerDataHandler.java 2011-04-23 00:27:30 UTC (rev 7288) +++ trunk/jython/src/com/ziclix/python/sql/handler/SQLServerDataHandler.java 2011-04-30 23:27:49 UTC (rev 7289) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -24,8 +23,6 @@ * SQLServer specific data handling. * * @author brian zimmer - * @author last revised by $Author$ - * @version $Revision$ */ public class SQLServerDataHandler extends FilterDataHandler { Modified: trunk/jython/src/com/ziclix/python/sql/handler/UpdateCountDataHandler.java =================================================================== --- trunk/jython/src/com/ziclix/python/sql/handler/UpdateCountDataHandler.java 2011-04-23 00:27:30 UTC (rev 7288) +++ trunk/jython/src/com/ziclix/python/sql/handler/UpdateCountDataHandler.java 2011-04-30 23:27:49 UTC (rev 7289) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -27,8 +26,6 @@ * <code>0</code>.</p> * * @author brian zimmer - * @author last revised by $Author$ - * @version $Revision$ * @see java.sql.Statement#getUpdateCount() */ public class UpdateCountDataHandler extends FilterDataHandler { Modified: trunk/jython/src/com/ziclix/python/sql/pipe/Pipe.java =================================================================== --- trunk/jython/src/com/ziclix/python/sql/pipe/Pipe.java 2011-04-23 00:27:30 UTC (rev 7288) +++ trunk/jython/src/com/ziclix/python/sql/pipe/Pipe.java 2011-04-30 23:27:49 UTC (rev 7289) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -21,7 +20,6 @@ * or table to another. * * @author brian zimmer - * @version $Revision$ */ public class Pipe { @@ -104,10 +102,7 @@ * Class PipeRunner * * @author - * @author last modified by $Author$ - * @version $Revision$ * @date $today.date$ - * @date last modified on $Date$ * @copyright 2001 brian zimmer */ abstract class PipeRunner extends Thread { @@ -193,10 +188,7 @@ * Class SourceRunner * * @author - * @author last modified by $Author$ - * @version $Revision$ * @date $today.date$ - * @date last modified on $Date$ * @copyright 2001 brian zimmer */ class SourceRunner extends PipeRunner { @@ -250,10 +242,7 @@ * Class SinkRunner * * @author - * @author last modified by $Author$ - * @version $Revision$ * @date $today.date$ - * @date last modified on $Date$ * @copyright 2001 brian zimmer */ class SinkRunner extends PipeRunner { Modified: trunk/jython/src/com/ziclix/python/sql/pipe/Sink.java =================================================================== --- trunk/jython/src/com/ziclix/python/sql/pipe/Sink.java 2011-04-23 00:27:30 UTC (rev 7288) +++ trunk/jython/src/com/ziclix/python/sql/pipe/Sink.java 2011-04-30 23:27:49 UTC (rev 7289) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -15,7 +14,6 @@ * to the Sink as generated by the Source. * * @author brian zimmer - * @version $Revision$ */ public interface Sink { Modified: trunk/jython/src/com/ziclix/python/sql/pipe/Source.java =================================================================== --- trunk/jython/src/com/ziclix/python/sql/pipe/Source.java 2011-04-23 00:27:30 UTC (rev 7288) +++ trunk/jython/src/com/ziclix/python/sql/pipe/Source.java 2011-04-30 23:27:49 UTC (rev 7289) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -15,7 +14,6 @@ * from anywhere, but must follow the format detail in next(). * * @author brian zimmer - * @version $Revision$ * @see #next * @see Sink */ Modified: trunk/jython/src/com/ziclix/python/sql/pipe/csv/CSVSink.java =================================================================== --- trunk/jython/src/com/ziclix/python/sql/pipe/csv/CSVSink.java 2011-04-23 00:27:30 UTC (rev 7288) +++ trunk/jython/src/com/ziclix/python/sql/pipe/csv/CSVSink.java 2011-04-30 23:27:49 UTC (rev 7289) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -18,7 +17,6 @@ * The CSVSink writes data out in a Comma Seperated Format. * * @author brian zimmer - * @version $Revision$ */ public class CSVSink implements Sink { Modified: trunk/jython/src/com/ziclix/python/sql/pipe/csv/CSVString.java =================================================================== --- trunk/jython/src/com/ziclix/python/sql/pipe/csv/CSVString.java 2011-04-23 00:27:30 UTC (rev 7288) +++ trunk/jython/src/com/ziclix/python/sql/pipe/csv/CSVString.java 2011-04-30 23:27:49 UTC (rev 7289) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -12,7 +11,6 @@ * A utility class to aide in quoting CSV strings. * * @author brian zimmer - * @version $Revision$ */ public class CSVString { Modified: trunk/jython/src/com/ziclix/python/sql/pipe/db/BaseDB.java =================================================================== --- trunk/jython/src/com/ziclix/python/sql/pipe/db/BaseDB.java 2011-04-23 00:27:30 UTC (rev 7288) +++ trunk/jython/src/com/ziclix/python/sql/pipe/db/BaseDB.java 2011-04-30 23:27:49 UTC (rev 7289) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -20,7 +19,6 @@ * Abstract class to assist in generating cursors. * * @author brian zimmer - * @version $Revision$ */ public abstract class BaseDB { Modified: trunk/jython/src/com/ziclix/python/sql/pipe/db/DBSink.java =================================================================== --- trunk/jython/src/com/ziclix/python/sql/pipe/db/DBSink.java 2011-04-23 00:27:30 UTC (rev 7288) +++ trunk/jython/src/com/ziclix/python/sql/pipe/db/DBSink.java 2011-04-30 23:27:49 UTC (rev 7289) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -24,7 +23,6 @@ * A database consumer. All data transferred will be inserted into the appropriate table. * * @author brian zimmer - * @version $Revision$ */ public class DBSink extends BaseDB implements Sink { Modified: trunk/jython/src/com/ziclix/python/sql/pipe/db/DBSource.java =================================================================== --- trunk/jython/src/com/ziclix/python/sql/pipe/db/DBSource.java 2011-04-23 00:27:30 UTC (rev 7288) +++ trunk/jython/src/com/ziclix/python/sql/pipe/db/DBSource.java 2011-04-30 23:27:49 UTC (rev 7289) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -18,7 +17,6 @@ * A database source. Given a PyConnection and information about the query, produce the data. * * @author brian zimmer - * @version $Revision$ */ public class DBSource extends BaseDB implements Source { Modified: trunk/jython/src/com/ziclix/python/sql/procedure/SQLServerProcedure.java =================================================================== --- trunk/jython/src/com/ziclix/python/sql/procedure/SQLServerProcedure.java 2011-04-23 00:27:30 UTC (rev 7288) +++ trunk/jython/src/com/ziclix/python/sql/procedure/SQLServerProcedure.java 2011-04-30 23:27:49 UTC (rev 7289) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2002 brian zimmer <mailto:bz...@zi...> * @@ -19,8 +18,6 @@ * Stored procedure support for SQLServer. * * @author brian zimmer - * @author last revised by $Author$ - * @version $Revision$ */ public class SQLServerProcedure extends Procedure { Modified: trunk/jython/src/com/ziclix/python/sql/util/BCP.java =================================================================== --- trunk/jython/src/com/ziclix/python/sql/util/BCP.java 2011-04-23 00:27:30 UTC (rev 7288) +++ trunk/jython/src/com/ziclix/python/sql/util/BCP.java 2011-04-30 23:27:49 UTC (rev 7289) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -188,9 +187,6 @@ } /** - * @author last modified by $Author$ - * @version $Revision$ - * @date last modified on $Date$ * @copyright 2001 brian zimmer */ class BCPFunc extends PyBuiltinMethodSet { Modified: trunk/jython/src/com/ziclix/python/sql/util/PyArgParser.java =================================================================== --- trunk/jython/src/com/ziclix/python/sql/util/PyArgParser.java 2011-04-23 00:27:30 UTC (rev 7288) +++ trunk/jython/src/com/ziclix/python/sql/util/PyArgParser.java 2011-04-30 23:27:49 UTC (rev 7289) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -18,7 +17,6 @@ * Parse the args and kws for a method call. * * @author brian zimmer - * @version $Revision$ */ public class PyArgParser extends Object { Modified: trunk/jython/src/com/ziclix/python/sql/util/Queue.java =================================================================== --- trunk/jython/src/com/ziclix/python/sql/util/Queue.java 2011-04-23 00:27:30 UTC (rev 7288) +++ trunk/jython/src/com/ziclix/python/sql/util/Queue.java 2011-04-30 23:27:49 UTC (rev 7289) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -16,7 +15,6 @@ * queue size under a certain threshold. * * @author brian zimmer - * @version $Revision$ */ public class Queue { Modified: trunk/jython/src/com/ziclix/python/sql/util/QueueClosedException.java =================================================================== --- trunk/jython/src/com/ziclix/python/sql/util/QueueClosedException.java 2011-04-23 00:27:30 UTC (rev 7288) +++ trunk/jython/src/com/ziclix/python/sql/util/QueueClosedException.java 2011-04-30 23:27:49 UTC (rev 7289) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -12,7 +11,6 @@ * This exception is thrown when the queue is closed and an operation is attempted. * * @author brian zimmer - * @version $Revision$ */ public class QueueClosedException extends RuntimeException { Modified: trunk/jython/src/com/ziclix/python/sql/zxJDBC.java =================================================================== --- trunk/jython/src/com/ziclix/python/sql/zxJDBC.java 2011-04-23 00:27:30 UTC (rev 7288) +++ trunk/jython/src/com/ziclix/python/sql/zxJDBC.java 2011-04-30 23:27:49 UTC (rev 7289) @@ -1,7 +1,6 @@ /* * Jython Database Specification API 2.0 * - * $Id$ * * Copyright (c) 2001 brian zimmer <bz...@zi...> * @@ -41,8 +40,6 @@ * </pre> * * @author brian zimmer - * @author last revised by $Author$ - * @version $Revision$ */ public class zxJDBC extends PyObject implements ClassDictInit { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pj...@us...> - 2011-04-23 00:27:37
|
Revision: 7288 http://jython.svn.sourceforge.net/jython/?rev=7288&view=rev Author: pjenvey Date: 2011-04-23 00:27:30 +0000 (Sat, 23 Apr 2011) Log Message: ----------- Merged revisions 7287 via svnmerge from https://jython.svn.sourceforge.net/svnroot/jython/trunk ........ r7287 | pjenvey | 2011-04-22 17:17:56 -0700 (Fri, 22 Apr 2011) | 3 lines fix os.read returning unicode instead of str fixes #1735 ........ Modified Paths: -------------- branches/Release_2_5maint/jython/Lib/test/test_fileno.py branches/Release_2_5maint/jython/NEWS branches/Release_2_5maint/jython/src/org/python/modules/posix/PosixModule.java Property Changed: ---------------- branches/Release_2_5maint/ branches/Release_2_5maint/jython/ Property changes on: branches/Release_2_5maint ___________________________________________________________________ Modified: svnmerge-integrated - /trunk:1-7207,7210,7285 + /trunk:1-7207,7210,7285,7287 Modified: svn:mergeinfo - /trunk:7210,7285 + /trunk:7210,7285,7287 Property changes on: branches/Release_2_5maint/jython ___________________________________________________________________ Modified: svn:mergeinfo - /branches/jsr223:6285-6565 /branches/newstyle-java-types:5564-5663,5666-5729 /trunk/jython:7210,7285 + /branches/jsr223:6285-6565 /branches/newstyle-java-types:5564-5663,5666-5729 /trunk/jython:7210,7285,7287 Modified: branches/Release_2_5maint/jython/Lib/test/test_fileno.py =================================================================== --- branches/Release_2_5maint/jython/Lib/test/test_fileno.py 2011-04-23 00:17:56 UTC (rev 7287) +++ branches/Release_2_5maint/jython/Lib/test/test_fileno.py 2011-04-23 00:27:30 UTC (rev 7288) @@ -46,7 +46,9 @@ self.fp.write('jython filenos') self.fp.flush() self.fp.seek(0) - self.assertEqual(os.read(self.fd, 7), 'jython ') + result = os.read(self.fd, 7) + self.assertTrue(isinstance(result, str)) + self.assertEqual(result, 'jython ') self.assertEqual(os.read(self.fd, 99), 'filenos') self.fp.close() raises(OSError, 9, os.read, self.fd, 1) Modified: branches/Release_2_5maint/jython/NEWS =================================================================== --- branches/Release_2_5maint/jython/NEWS 2011-04-23 00:17:56 UTC (rev 7287) +++ branches/Release_2_5maint/jython/NEWS 2011-04-23 00:27:30 UTC (rev 7288) @@ -3,6 +3,7 @@ Jython 2.5.3a1 Bugs Fixed - [ 1727 ] Error in Jython 2.5.2 with os.stat and varargs + - [ 1735 ] return type of os.read is unicode, not str Jython 2.5.2 same as 2.5.2rc4 Modified: branches/Release_2_5maint/jython/src/org/python/modules/posix/PosixModule.java =================================================================== --- branches/Release_2_5maint/jython/src/org/python/modules/posix/PosixModule.java 2011-04-23 00:17:56 UTC (rev 7287) +++ branches/Release_2_5maint/jython/src/org/python/modules/posix/PosixModule.java 2011-04-23 00:27:30 UTC (rev 7288) @@ -609,9 +609,9 @@ public static PyString __doc__read = new PyString( "read(fd, buffersize) -> string\n\n" + "Read a file descriptor."); - public static String read(PyObject fd, int buffersize) { + public static PyObject read(PyObject fd, int buffersize) { try { - return StringUtil.fromBytes(FileDescriptors.get(fd).read(buffersize)); + return new PyString(StringUtil.fromBytes(FileDescriptors.get(fd).read(buffersize))); } catch (PyException pye) { throw badFD(); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pj...@us...> - 2011-04-23 00:18:02
|
Revision: 7287 http://jython.svn.sourceforge.net/jython/?rev=7287&view=rev Author: pjenvey Date: 2011-04-23 00:17:56 +0000 (Sat, 23 Apr 2011) Log Message: ----------- fix os.read returning unicode instead of str fixes #1735 Modified Paths: -------------- trunk/jython/Lib/test/test_fileno.py trunk/jython/NEWS trunk/jython/src/org/python/modules/posix/PosixModule.java Modified: trunk/jython/Lib/test/test_fileno.py =================================================================== --- trunk/jython/Lib/test/test_fileno.py 2011-04-03 00:59:11 UTC (rev 7286) +++ trunk/jython/Lib/test/test_fileno.py 2011-04-23 00:17:56 UTC (rev 7287) @@ -46,7 +46,9 @@ self.fp.write('jython filenos') self.fp.flush() self.fp.seek(0) - self.assertEqual(os.read(self.fd, 7), 'jython ') + result = os.read(self.fd, 7) + self.assertTrue(isinstance(result, str)) + self.assertEqual(result, 'jython ') self.assertEqual(os.read(self.fd, 99), 'filenos') self.fp.close() raises(OSError, 9, os.read, self.fd, 1) Modified: trunk/jython/NEWS =================================================================== --- trunk/jython/NEWS 2011-04-03 00:59:11 UTC (rev 7286) +++ trunk/jython/NEWS 2011-04-23 00:17:56 UTC (rev 7287) @@ -3,6 +3,7 @@ Jython 2.6a1 Bugs Fixed - [ 1727 ] Error in Jython 2.5.2 with os.stat and varargs + - [ 1735 ] return type of os.read is unicode, not str Jython 2.5.2 same as 2.5.2rc4 Modified: trunk/jython/src/org/python/modules/posix/PosixModule.java =================================================================== --- trunk/jython/src/org/python/modules/posix/PosixModule.java 2011-04-03 00:59:11 UTC (rev 7286) +++ trunk/jython/src/org/python/modules/posix/PosixModule.java 2011-04-23 00:17:56 UTC (rev 7287) @@ -609,9 +609,9 @@ public static PyString __doc__read = new PyString( "read(fd, buffersize) -> string\n\n" + "Read a file descriptor."); - public static String read(PyObject fd, int buffersize) { + public static PyObject read(PyObject fd, int buffersize) { try { - return StringUtil.fromBytes(FileDescriptors.get(fd).read(buffersize)); + return new PyString(StringUtil.fromBytes(FileDescriptors.get(fd).read(buffersize))); } catch (PyException pye) { throw badFD(); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pj...@us...> - 2011-04-03 00:59:18
|
Revision: 7286 http://jython.svn.sourceforge.net/jython/?rev=7286&view=rev Author: pjenvey Date: 2011-04-03 00:59:11 +0000 (Sun, 03 Apr 2011) Log Message: ----------- Merged revisions 7285 via svnmerge from https://jython.svn.sourceforge.net/svnroot/jython/trunk ........ r7285 | pjenvey | 2011-04-02 17:55:23 -0700 (Sat, 02 Apr 2011) | 3 lines fix os.stat(*(path,)) (when called with varargs, #1727) fix from agronholm ........ Modified Paths: -------------- branches/Release_2_5maint/jython/NEWS branches/Release_2_5maint/jython/src/org/python/modules/posix/PosixModule.java Added Paths: ----------- branches/Release_2_5maint/jython/Lib/test/test_os_jy.py Property Changed: ---------------- branches/Release_2_5maint/ branches/Release_2_5maint/jython/ Property changes on: branches/Release_2_5maint ___________________________________________________________________ Modified: svnmerge-integrated - /trunk:1-7207,7210 + /trunk:1-7207,7210,7285 Modified: svn:mergeinfo - /trunk:7210 + /trunk:7210,7285 Property changes on: branches/Release_2_5maint/jython ___________________________________________________________________ Modified: svn:mergeinfo - /branches/jsr223:6285-6565 /branches/newstyle-java-types:5564-5663,5666-5729 /trunk/jython:7210 + /branches/jsr223:6285-6565 /branches/newstyle-java-types:5564-5663,5666-5729 /trunk/jython:7210,7285 Copied: branches/Release_2_5maint/jython/Lib/test/test_os_jy.py (from rev 7285, trunk/jython/Lib/test/test_os_jy.py) =================================================================== --- branches/Release_2_5maint/jython/Lib/test/test_os_jy.py (rev 0) +++ branches/Release_2_5maint/jython/Lib/test/test_os_jy.py 2011-04-03 00:59:11 UTC (rev 7286) @@ -0,0 +1,26 @@ +"""Misc os module tests + +Made for Jython. +""" +import os +import unittest +from test import test_support + +class OSTestCase(unittest.TestCase): + + def setUp(self): + open(test_support.TESTFN, 'w').close() + + def tearDown(self): + os.remove(test_support.TESTFN) + + def test_issue1727(self): + os.stat(*(test_support.TESTFN,)) + + +def test_main(): + test_support.run_unittest(OSTestCase) + + +if __name__ == '__main__': + test_main() Modified: branches/Release_2_5maint/jython/NEWS =================================================================== --- branches/Release_2_5maint/jython/NEWS 2011-04-03 00:55:23 UTC (rev 7285) +++ branches/Release_2_5maint/jython/NEWS 2011-04-03 00:59:11 UTC (rev 7286) @@ -1,5 +1,9 @@ Jython NEWS +Jython 2.5.3a1 + Bugs Fixed + - [ 1727 ] Error in Jython 2.5.2 with os.stat and varargs + Jython 2.5.2 same as 2.5.2rc4 Modified: branches/Release_2_5maint/jython/src/org/python/modules/posix/PosixModule.java =================================================================== --- branches/Release_2_5maint/jython/src/org/python/modules/posix/PosixModule.java 2011-04-03 00:55:23 UTC (rev 7285) +++ branches/Release_2_5maint/jython/src/org/python/modules/posix/PosixModule.java 2011-04-03 00:59:11 UTC (rev 7286) @@ -24,7 +24,7 @@ import org.python.core.ClassDictInit; import org.python.core.Py; -import org.python.core.PyBuiltinFunction; +import org.python.core.PyBuiltinFunctionNarrow; import org.python.core.PyDictionary; import org.python.core.PyException; import org.python.core.PyFile; @@ -34,7 +34,6 @@ import org.python.core.PyObject; import org.python.core.PyString; import org.python.core.PyTuple; -import org.python.core.ThreadState; import org.python.core.imp; import org.python.core.io.IOBase; import org.python.core.io.FileDescriptors; @@ -929,15 +928,15 @@ return os.getModuleName(); } - static class LstatFunction extends PyBuiltinFunction { + static class LstatFunction extends PyBuiltinFunctionNarrow { LstatFunction() { - super("lstat", + super("lstat", 1, 1, "lstat(path) -> stat result\n\n" + "Like stat(path), but do not follow symbolic links."); } @Override - public PyObject __call__(ThreadState state, PyObject pathObj) { + public PyObject __call__(PyObject pathObj) { if (!(pathObj instanceof PyString)) { throw Py.TypeError(String.format("coercing to Unicode: need string or buffer, %s " + "found", pathObj.getType().fastGetName())); @@ -947,9 +946,9 @@ } } - static class StatFunction extends PyBuiltinFunction { + static class StatFunction extends PyBuiltinFunctionNarrow { StatFunction() { - super("stat", + super("stat", 1, 1, "stat(path) -> stat result\n\n" + "Perform a stat system call on the given path.\n\n" + "Note that some platforms may return only a small subset of the\n" + @@ -957,7 +956,7 @@ } @Override - public PyObject __call__(ThreadState state, PyObject pathObj) { + public PyObject __call__(PyObject pathObj) { if (!(pathObj instanceof PyString)) { throw Py.TypeError(String.format("coercing to Unicode: need string or buffer, %s " + "found", pathObj.getType().fastGetName())); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pj...@us...> - 2011-04-03 00:55:29
|
Revision: 7285 http://jython.svn.sourceforge.net/jython/?rev=7285&view=rev Author: pjenvey Date: 2011-04-03 00:55:23 +0000 (Sun, 03 Apr 2011) Log Message: ----------- fix os.stat(*(path,)) (when called with varargs, #1727) fix from agronholm Modified Paths: -------------- trunk/jython/NEWS trunk/jython/src/org/python/modules/posix/PosixModule.java Added Paths: ----------- trunk/jython/Lib/test/test_os_jy.py Added: trunk/jython/Lib/test/test_os_jy.py =================================================================== --- trunk/jython/Lib/test/test_os_jy.py (rev 0) +++ trunk/jython/Lib/test/test_os_jy.py 2011-04-03 00:55:23 UTC (rev 7285) @@ -0,0 +1,26 @@ +"""Misc os module tests + +Made for Jython. +""" +import os +import unittest +from test import test_support + +class OSTestCase(unittest.TestCase): + + def setUp(self): + open(test_support.TESTFN, 'w').close() + + def tearDown(self): + os.remove(test_support.TESTFN) + + def test_issue1727(self): + os.stat(*(test_support.TESTFN,)) + + +def test_main(): + test_support.run_unittest(OSTestCase) + + +if __name__ == '__main__': + test_main() Modified: trunk/jython/NEWS =================================================================== --- trunk/jython/NEWS 2011-04-01 18:58:57 UTC (rev 7284) +++ trunk/jython/NEWS 2011-04-03 00:55:23 UTC (rev 7285) @@ -1,5 +1,9 @@ Jython NEWS +Jython 2.6a1 + Bugs Fixed + - [ 1727 ] Error in Jython 2.5.2 with os.stat and varargs + Jython 2.5.2 same as 2.5.2rc4 Modified: trunk/jython/src/org/python/modules/posix/PosixModule.java =================================================================== --- trunk/jython/src/org/python/modules/posix/PosixModule.java 2011-04-01 18:58:57 UTC (rev 7284) +++ trunk/jython/src/org/python/modules/posix/PosixModule.java 2011-04-03 00:55:23 UTC (rev 7285) @@ -24,7 +24,7 @@ import org.python.core.ClassDictInit; import org.python.core.Py; -import org.python.core.PyBuiltinFunction; +import org.python.core.PyBuiltinFunctionNarrow; import org.python.core.PyDictionary; import org.python.core.PyException; import org.python.core.PyFile; @@ -34,7 +34,6 @@ import org.python.core.PyObject; import org.python.core.PyString; import org.python.core.PyTuple; -import org.python.core.ThreadState; import org.python.core.imp; import org.python.core.io.IOBase; import org.python.core.io.FileDescriptors; @@ -929,15 +928,15 @@ return os.getModuleName(); } - static class LstatFunction extends PyBuiltinFunction { + static class LstatFunction extends PyBuiltinFunctionNarrow { LstatFunction() { - super("lstat", + super("lstat", 1, 1, "lstat(path) -> stat result\n\n" + "Like stat(path), but do not follow symbolic links."); } @Override - public PyObject __call__(ThreadState state, PyObject pathObj) { + public PyObject __call__(PyObject pathObj) { if (!(pathObj instanceof PyString)) { throw Py.TypeError(String.format("coercing to Unicode: need string or buffer, %s " + "found", pathObj.getType().fastGetName())); @@ -947,9 +946,9 @@ } } - static class StatFunction extends PyBuiltinFunction { + static class StatFunction extends PyBuiltinFunctionNarrow { StatFunction() { - super("stat", + super("stat", 1, 1, "stat(path) -> stat result\n\n" + "Perform a stat system call on the given path.\n\n" + "Note that some platforms may return only a small subset of the\n" + @@ -957,7 +956,7 @@ } @Override - public PyObject __call__(ThreadState state, PyObject pathObj) { + public PyObject __call__(PyObject pathObj) { if (!(pathObj instanceof PyString)) { throw Py.TypeError(String.format("coercing to Unicode: need string or buffer, %s " + "found", pathObj.getType().fastGetName())); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pj...@us...> - 2011-04-01 18:59:03
|
Revision: 7284 http://jython.svn.sourceforge.net/jython/?rev=7284&view=rev Author: pjenvey Date: 2011-04-01 18:58:57 +0000 (Fri, 01 Apr 2011) Log Message: ----------- close ctypes-*-jffi, they're long merged to trunk by wmeissner Removed Paths: ------------- branches/ctypes-jffi/ branches/ctypes-via-rawffi/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pj...@us...> - 2011-04-01 18:58:21
|
Revision: 7283 http://jython.svn.sourceforge.net/jython/?rev=7283&view=rev Author: pjenvey Date: 2011-04-01 18:58:15 +0000 (Fri, 01 Apr 2011) Log Message: ----------- close per fwierzbicki Removed Paths: ------------- branches/indy/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pj...@us...> - 2011-04-01 18:44:21
|
Revision: 7282 http://jython.svn.sourceforge.net/jython/?rev=7282&view=rev Author: pjenvey Date: 2011-04-01 18:44:14 +0000 (Fri, 01 Apr 2011) Log Message: ----------- remove ancient .cvsignores (thanks Dmitry Jemerov), add .hgignore Added Paths: ----------- trunk/jython/.hgignore Removed Paths: ------------- trunk/jython/Lib/.cvsignore trunk/jython/Lib/pawt/.cvsignore trunk/jython/Lib/test/.cvsignore trunk/jython/Misc/.cvsignore trunk/jython/Misc/htgen/.cvsignore trunk/jython/bugtests/.cvsignore trunk/jython/src/org/python/compiler/.cvsignore trunk/jython/src/org/python/core/.cvsignore trunk/jython/src/org/python/modules/.cvsignore trunk/jython/src/org/python/modules/sre/.cvsignore trunk/jython/src/org/python/util/.cvsignore trunk/jython/src/templates/.cvsignore trunk/jython/tests/java/javatests/.cvsignore Added: trunk/jython/.hgignore =================================================================== --- trunk/jython/.hgignore (rev 0) +++ trunk/jython/.hgignore 2011-04-01 18:44:14 UTC (rev 7282) @@ -0,0 +1,27 @@ +syntax: glob +*.class +*.pyc +*.pyd +*.pyo +*.orig +*.rej +*.swp +*~ +# IntelliJ files +*.ipr +*.iml +*.iws + +.AppleDouble +.DS_Store +.classpath +.externalToolBuilders +.project +.settings +__pycache__ +ant.properties +bin +build +cachedir +dist +profile.txt Deleted: trunk/jython/Lib/.cvsignore =================================================================== --- trunk/jython/Lib/.cvsignore 2011-04-01 18:35:36 UTC (rev 7281) +++ trunk/jython/Lib/.cvsignore 2011-04-01 18:44:14 UTC (rev 7282) @@ -1 +0,0 @@ -*.class Deleted: trunk/jython/Lib/pawt/.cvsignore =================================================================== --- trunk/jython/Lib/pawt/.cvsignore 2011-04-01 18:35:36 UTC (rev 7281) +++ trunk/jython/Lib/pawt/.cvsignore 2011-04-01 18:44:14 UTC (rev 7282) @@ -1 +0,0 @@ -*.class Deleted: trunk/jython/Lib/test/.cvsignore =================================================================== --- trunk/jython/Lib/test/.cvsignore 2011-04-01 18:35:36 UTC (rev 7281) +++ trunk/jython/Lib/test/.cvsignore 2011-04-01 18:44:14 UTC (rev 7282) @@ -1 +0,0 @@ -*.class Deleted: trunk/jython/Misc/.cvsignore =================================================================== --- trunk/jython/Misc/.cvsignore 2011-04-01 18:35:36 UTC (rev 7281) +++ trunk/jython/Misc/.cvsignore 2011-04-01 18:44:14 UTC (rev 7282) @@ -1,2 +0,0 @@ -*.pyc -*.class \ No newline at end of file Deleted: trunk/jython/Misc/htgen/.cvsignore =================================================================== --- trunk/jython/Misc/htgen/.cvsignore 2011-04-01 18:35:36 UTC (rev 7281) +++ trunk/jython/Misc/htgen/.cvsignore 2011-04-01 18:44:14 UTC (rev 7282) @@ -1,2 +0,0 @@ -*.pyc -*.class \ No newline at end of file Deleted: trunk/jython/bugtests/.cvsignore =================================================================== --- trunk/jython/bugtests/.cvsignore 2011-04-01 18:35:36 UTC (rev 7281) +++ trunk/jython/bugtests/.cvsignore 2011-04-01 18:44:14 UTC (rev 7282) @@ -1,7 +0,0 @@ -*.jar *.class *.out *.tmp *.ser *.pyc *.err jpywork cachedir support_config.py *.zip *.diff - -.classpath -.project -.ipr -.iws -.iml Deleted: trunk/jython/src/org/python/compiler/.cvsignore =================================================================== --- trunk/jython/src/org/python/compiler/.cvsignore 2011-04-01 18:35:36 UTC (rev 7281) +++ trunk/jython/src/org/python/compiler/.cvsignore 2011-04-01 18:44:14 UTC (rev 7282) @@ -1,2 +0,0 @@ -.AppleDouble -*.class Deleted: trunk/jython/src/org/python/core/.cvsignore =================================================================== --- trunk/jython/src/org/python/core/.cvsignore 2011-04-01 18:35:36 UTC (rev 7281) +++ trunk/jython/src/org/python/core/.cvsignore 2011-04-01 18:44:14 UTC (rev 7282) @@ -1,2 +0,0 @@ -.AppleDouble -*.class Deleted: trunk/jython/src/org/python/modules/.cvsignore =================================================================== --- trunk/jython/src/org/python/modules/.cvsignore 2011-04-01 18:35:36 UTC (rev 7281) +++ trunk/jython/src/org/python/modules/.cvsignore 2011-04-01 18:44:14 UTC (rev 7282) @@ -1,2 +0,0 @@ -.AppleDouble -*.class Deleted: trunk/jython/src/org/python/modules/sre/.cvsignore =================================================================== --- trunk/jython/src/org/python/modules/sre/.cvsignore 2011-04-01 18:35:36 UTC (rev 7281) +++ trunk/jython/src/org/python/modules/sre/.cvsignore 2011-04-01 18:44:14 UTC (rev 7282) @@ -1 +0,0 @@ -*.class Deleted: trunk/jython/src/org/python/util/.cvsignore =================================================================== --- trunk/jython/src/org/python/util/.cvsignore 2011-04-01 18:35:36 UTC (rev 7281) +++ trunk/jython/src/org/python/util/.cvsignore 2011-04-01 18:44:14 UTC (rev 7282) @@ -1,2 +0,0 @@ -.AppleDouble -*.class Deleted: trunk/jython/src/templates/.cvsignore =================================================================== --- trunk/jython/src/templates/.cvsignore 2011-04-01 18:35:36 UTC (rev 7281) +++ trunk/jython/src/templates/.cvsignore 2011-04-01 18:44:14 UTC (rev 7282) @@ -1 +0,0 @@ -*.pyc Deleted: trunk/jython/tests/java/javatests/.cvsignore =================================================================== --- trunk/jython/tests/java/javatests/.cvsignore 2011-04-01 18:35:36 UTC (rev 7281) +++ trunk/jython/tests/java/javatests/.cvsignore 2011-04-01 18:44:14 UTC (rev 7282) @@ -1 +0,0 @@ -*.class This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pj...@us...> - 2011-04-01 18:35:42
|
Revision: 7281 http://jython.svn.sourceforge.net/jython/?rev=7281&view=rev Author: pjenvey Date: 2011-04-01 18:35:36 +0000 (Fri, 01 Apr 2011) Log Message: ----------- minor refactor Modified Paths: -------------- trunk/jython/src/org/python/core/Py.java Modified: trunk/jython/src/org/python/core/Py.java =================================================================== --- trunk/jython/src/org/python/core/Py.java 2011-04-01 05:22:39 UTC (rev 7280) +++ trunk/jython/src/org/python/core/Py.java 2011-04-01 18:35:36 UTC (rev 7281) @@ -2053,10 +2053,7 @@ */ private static PyTuple abstractGetBases(PyObject cls) { PyObject bases = cls.__findattr__("__bases__"); - if (bases instanceof PyTuple) { - return (PyTuple) bases; - } - return null; + return bases instanceof PyTuple ? (PyTuple) bases : null; } /** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pj...@us...> - 2011-04-01 05:22:45
|
Revision: 7280 http://jython.svn.sourceforge.net/jython/?rev=7280&view=rev Author: pjenvey Date: 2011-04-01 05:22:39 +0000 (Fri, 01 Apr 2011) Log Message: ----------- auto-toggle hg/svn version support Modified Paths: -------------- trunk/jython/build.xml trunk/jython/src/org/python/Version.java Modified: trunk/jython/build.xml =================================================================== --- trunk/jython/build.xml 2011-03-30 15:55:44 UTC (rev 7279) +++ trunk/jython/build.xml 2011-04-01 05:22:39 UTC (rev 7280) @@ -393,38 +393,56 @@ </svn> </target> - <!-- XXX: could attempt to utilize subwcrev.exe to get the revision on Windows --> - <target name="svnversion" if="os.family.unix"> - <exec executable="svnversion" failifexecutionfails="false" outputproperty="build.svn.revision"/> + <target name="check-hg"> + <available file=".hg" type="dir" property="hg.present"/> + <condition property="hg-run"> + <and> + <isset property="hg.present"/> + <!-- XXX: Might this work on Windows? --> + <isset property="os.family.unix"/> + </and> + </condition> </target> + <target name="hg-id" depends="check-hg, hg-branch, hg-tag, hg-version"/> - <!-- XXX: Might this work on Windows? --> - <target name="hg-branch" if="os.family.unix"> + <target name="hg-branch" if="hg-run"> <exec executable="hg" failifexecutionfails="false" outputproperty="build.hg.branch"> <arg line="id -b"/> </exec> </target> - <target name="hg-tag" if="os.family.unix"> + <target name="hg-tag" if="hg-run"> <exec executable="hg" failifexecutionfails="false" outputproperty="build.hg.tag"> <arg line="id -t"/> </exec> </target> - <target name="hg-version" if="os.family.unix"> + <target name="hg-version" if="hg-run"> <exec executable="hg" failifexecutionfails="false" outputproperty="build.hg.version"> <arg line="id -i"/> </exec> </target> - <target name="hg-id" depends="hg-branch, hg-tag, hg-version"/> + <target name="svnversion-check" depends="check-hg"> + <condition property="svnversion-run"> + <and> + <not> + <isset property="hg.present"/> + </not> + <!-- XXX: could attempt to utilize subwcrev.exe to get the revision on Windows --> + <isset property="os.family.unix"/> + </and> + </condition> + </target> + <target name="svnversion" depends="svnversion-check" if="svnversion-run"> + <exec executable="svnversion" failifexecutionfails="false" outputproperty="build.svn.revision"/> + </target> + <!-- skip-brand can be set in ant.properties or as a system property to keep from updating the version.properties file and making the jar on every developer build. --> - <!-- when hg: - <target name="brand-version" depends="init, hg-id" unless="skip-brand">--> - <target name="brand-version" depends="init, svnversion" unless="skip-brand"> - <property name="build.svn.revision" value=""/> + <target name="brand-version" depends="init, hg-id, svnversion" unless="skip-brand"> <property name="build.hg.branch" value=""/> <property name="build.hg.tag" value=""/> <property name="build.hg.version" value=""/> + <property name="build.svn.revision" value=""/> <tstamp> <format property="build.date" pattern="MMM d yyyy" offset="0"/> <format property="build.time" pattern="HH:mm:ss" offset="0"/> Modified: trunk/jython/src/org/python/Version.java =================================================================== --- trunk/jython/src/org/python/Version.java 2011-03-30 15:55:44 UTC (rev 7279) +++ trunk/jython/src/org/python/Version.java 2011-04-01 05:22:39 UTC (rev 7280) @@ -167,6 +167,9 @@ * timestamp. */ public static String getBuildInfo() { + if (HG_VERSION != null && !"".equals(HG_VERSION)) { + return getBuildInfoHG(); + } String revision = getSubversionRevision(); String sep = "".equals(revision) ? "" : ":"; String branch = getSubversionShortBranch(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <otm...@us...> - 2011-03-30 15:55:50
|
Revision: 7279 http://jython.svn.sourceforge.net/jython/?rev=7279&view=rev Author: otmarhumbel Date: 2011-03-30 15:55:44 +0000 (Wed, 30 Mar 2011) Log Message: ----------- removal of a wrong comment Modified Paths: -------------- trunk/jython/src/org/python/modules/math.java Modified: trunk/jython/src/org/python/modules/math.java =================================================================== --- trunk/jython/src/org/python/modules/math.java 2011-03-30 15:43:34 UTC (rev 7278) +++ trunk/jython/src/org/python/modules/math.java 2011-03-30 15:55:44 UTC (rev 7279) @@ -11,10 +11,6 @@ import org.python.core.PyObject; import org.python.core.PyTuple; -// -// +++++ test the corner cases for every method again (e.g. test_math_jy.py) -// - public class math implements ClassDictInit { public static PyFloat pi = new PyFloat(Math.PI); public static PyFloat e = new PyFloat(Math.E); @@ -32,7 +28,6 @@ private static final BigInteger MAX_LONG_BIGINTEGER = new BigInteger(String.valueOf(Long.MAX_VALUE)); private static final BigInteger MIN_LONG_BIGINTEGER = new BigInteger(String.valueOf(Long.MIN_VALUE)); - public static void classDictInit(@SuppressWarnings("unused") PyObject dict) { } @@ -556,13 +551,11 @@ } return value.longValue(); } - - + private static boolean isIntegral(double v) { return ceil(v) - v == ZERO; } - private static boolean isOdd(double v) { return isIntegral(v) && v % TWO != ZERO; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <otm...@us...> - 2011-03-30 15:43:41
|
Revision: 7278 http://jython.svn.sourceforge.net/jython/?rev=7278&view=rev Author: otmarhumbel Date: 2011-03-30 15:43:34 +0000 (Wed, 30 Mar 2011) Log Message: ----------- upgrade most of the math module to 2.6 Modified Paths: -------------- trunk/jython/Lib/test/test_math_jy.py trunk/jython/src/org/python/compiler/Module.java trunk/jython/src/org/python/modules/math.java Added Paths: ----------- trunk/jython/tests/java/org/python/compiler/ trunk/jython/tests/java/org/python/compiler/ModuleTest.java trunk/jython/tests/java/org/python/core/PyFloatTest.java Modified: trunk/jython/Lib/test/test_math_jy.py =================================================================== --- trunk/jython/Lib/test/test_math_jy.py 2011-03-30 15:17:27 UTC (rev 7277) +++ trunk/jython/Lib/test/test_math_jy.py 2011-03-30 15:43:34 UTC (rev 7278) @@ -7,6 +7,7 @@ from test import test_support inf = float('inf') +ninf = float('-inf') nan = float('nan') class MathTestCase(unittest.TestCase): @@ -17,7 +18,17 @@ self.assertNotEqual(mantissa, mantissa) self.assertEqual(exponent, 0) + def test_fmod(self): + self.assertEqual(-1e-100, math.fmod(-1e-100, 1e100)) + def test_hypot(self): + self.assert_(math.isnan(math.hypot(nan, nan))) + self.assertEqual(inf, math.hypot(inf, 4)) + self.assertEqual(inf, math.hypot(4, inf)) + self.assertEqual(inf, math.hypot(ninf, 4)) + self.assertEqual(inf, math.hypot(4, ninf)) + + def test_main(): test_support.run_unittest(MathTestCase) Modified: trunk/jython/src/org/python/compiler/Module.java =================================================================== --- trunk/jython/src/org/python/compiler/Module.java 2011-03-30 15:17:27 UTC (rev 7277) +++ trunk/jython/src/org/python/compiler/Module.java 2011-03-30 15:43:34 UTC (rev 7278) @@ -72,7 +72,8 @@ } class PyFloatConstant extends Constant implements ClassConstants, Opcodes { - + private static final double ZERO = 0.0; + final double value; PyFloatConstant(double value) { @@ -98,10 +99,14 @@ @Override public boolean equals(Object o) { if (o instanceof PyFloatConstant) { - return ((PyFloatConstant) o).value == value; - } else { - return false; + double oVal = ((PyFloatConstant)o).value; + if (ZERO == value) { + // math.copysign() needs to distinguish signs of zeroes + return oVal == value && Double.toString(oVal).equals(Double.toString(value)); + } + return oVal == value; } + return false; } } Modified: trunk/jython/src/org/python/modules/math.java =================================================================== --- trunk/jython/src/org/python/modules/math.java 2011-03-30 15:17:27 UTC (rev 7277) +++ trunk/jython/src/org/python/modules/math.java 2011-03-30 15:43:34 UTC (rev 7278) @@ -1,6 +1,8 @@ // Copyright (c) Corporation for National Research Initiatives package org.python.modules; +import java.math.BigInteger; + import org.python.core.ClassDictInit; import org.python.core.Py; import org.python.core.PyFloat; @@ -9,46 +11,127 @@ import org.python.core.PyObject; import org.python.core.PyTuple; +// +// +++++ test the corner cases for every method again (e.g. test_math_jy.py) +// + public class math implements ClassDictInit { public static PyFloat pi = new PyFloat(Math.PI); public static PyFloat e = new PyFloat(Math.E); + + private static final double ZERO = 0.0; + private static final double MINUS_ZERO = -0.0; + private static final double HALF = 0.5; + private static final double ONE = 1.0; + private static final double MINUS_ONE = -1.0; + private static final double TWO = 2.0; + private static final double EIGHT = 8.0; + private static final double INF = Double.POSITIVE_INFINITY; + private static final double NINF = Double.NEGATIVE_INFINITY; + private static final double NAN = Double.NaN; + private static final BigInteger MAX_LONG_BIGINTEGER = new BigInteger(String.valueOf(Long.MAX_VALUE)); + private static final BigInteger MIN_LONG_BIGINTEGER = new BigInteger(String.valueOf(Long.MIN_VALUE)); - public static void classDictInit(PyObject dict) { - } - private static double check(double v) { - if (Double.isNaN(v)) - throw Py.ValueError("math domain error"); - if (Double.isInfinite(v)) - throw Py.OverflowError("math range error"); - return v; + public static void classDictInit(@SuppressWarnings("unused") PyObject dict) { } public static double acos(double v) { - return check(Math.acos(v)); + if (isinf(v)) { + throwMathDomainValueError(); + } + if (isnan(v)) { + return v; + } + return Math.acos(v); } + + public static double acosh(double v) { + if (isninf(v)) { + throwMathDomainValueError(); + } + if (v == ZERO || v == MINUS_ONE) { + throwMathDomainValueError(); + } + if (isnan(v) || isinf(v)) { + return v; + } + return log(v + sqrt(v * v - 1)); + } public static double asin(double v) { - return check(Math.asin(v)); + if (isinf(v)) { + throwMathDomainValueError(); + } + if (isnan(v)) { + return v; + } + return Math.asin(v); } + + public static double asinh(double v) { + if (isnan(v) || isinf(v)) { + return v; + } + return log(v + sqrt(v * v + 1)); + } public static double atan(double v) { - return check(Math.atan(v)); + if (isnan(v)) { + return v; + } + return Math.atan(v); } + + public static double atanh(double v) { + if (isnan(v)) { + return v; + } + if (isinf(v) || Math.abs(v) == ONE) { + throwMathDomainValueError(); + } + return log((1 + v) / (1 - v)) / 2; + } public static double atan2(double v, double w) { - return check(Math.atan2(v, w)); + return Math.atan2(v, w); } + public static double ceil(PyObject v) { + return ceil(v.asDouble()); + } + public static double ceil(double v) { - return check(Math.ceil(v)); + if (isnan(v) || isinf(v)) { + return v; + } + return Math.ceil(v); } public static double cos(double v) { - return check(Math.cos(v)); + if (isnan(v) || isinf(v)) { + return NAN; + } + return Math.cos(v); } + public static double cosh(double v) { + if (isinf(v)) { + return INF; + } + if (isnan(v)) { + return v; + } + return HALF * (Math.exp(v) + Math.exp(-v)); + } + public static double exp(double v) { + if (isninf(v)) { + return ZERO; + } + if (isnan(v) || isinf(v)) { + return v; + } return check(Math.exp(v)); } @@ -57,7 +140,10 @@ } public static double floor(double v) { - return check(Math.floor(v)); + if (isnan(v) || isinf(v)) { + return v; + } + return Math.floor(v); } public static double log(PyObject v) { @@ -77,37 +163,83 @@ return doubleValue; } - private static double calculateLongLog(PyLong v) { - int e[] = new int[1]; - double x = v.scaledDoubleValue(e); - if (x <= 0.0) throw Py.ValueError("math domain error"); - return log(x) + (e[0]*8.0)*log(2.0); - } - - private static double applyLoggedBase(double loggedValue, PyObject base) { - double loggedBase; - if (base instanceof PyLong) { - loggedBase = calculateLongLog((PyLong)base); - } else { - loggedBase = log(base.asDouble()); + public static double pow(double v, double w) { + if (w == ZERO) { + return ONE; } - return check(loggedValue / loggedBase); + if (v == ONE) { + return v; + } + if (isnan(v) || isnan(w)) { + return NAN; + } + if (v == ZERO) { + if (w == ZERO) { + return ONE; + } else if (w > ZERO || ispinf(w)) { + return ZERO; + } else { + throwMathDomainValueError(); + } + } + if (isninf(v)) { + if (isninf(w)) { + return ZERO; + } + if (isinf(w)) { + return INF; + } + if (w == ZERO) { + return ONE; + } + if (w > ZERO) { + if (isOdd(w)) { + return NINF; + } + return INF; + } + if (isOdd(w)) { + return MINUS_ZERO; + } + return ZERO; + } + if (isninf(w)) { + if (v < ZERO) { + if (v == MINUS_ONE) { + return ONE; + } + if (v < MINUS_ONE) { + return ZERO; + } + return INF; + } + } + if (ispinf(w)) { + if (v < ZERO) { + if (v == MINUS_ONE) { + return ONE; + } + if (v < MINUS_ONE) { + return INF; + } + return ZERO; + } + } + if (v < ZERO && !isIntegral(w)) { + throwMathDomainValueError(); + } + return Math.pow(v, w); } - private static double log(double v) { - return check(Math.log(v)); - } - - public static double pow(double v, double w) { - return check(Math.pow(v, w)); - } - public static double sin(PyObject v) { return sin(v.asDouble()); } public static double sin(double v) { - return check(Math.sin(v)); + if (isnan(v)) { + return v; + } + return Math.sin(v); } public static double sqrt(PyObject v) { @@ -115,37 +247,61 @@ } public static double sqrt(double v) { - return check(Math.sqrt(v)); + if (isnan(v)) { + return v; + } + if (ispinf(v)) { + return v; + } + if (isninf(v) || v == MINUS_ONE) { + throwMathDomainValueError(); + } + return Math.sqrt(v); } public static double tan(double v) { - return check(Math.tan(v)); + if (isnan(v) || isinf(v)) { + return NAN; + } + return Math.tan(v); } public static double log10(PyObject v) { if (v instanceof PyLong) { - int e[] = new int[1]; - double x = ((PyLong)v).scaledDoubleValue(e); - if (x <= 0.0) throw Py.ValueError("math domain error"); - return log10(x) + (e[0]*8.0)*log10(2.0); + int exp[] = new int[1]; + double x = ((PyLong)v).scaledDoubleValue(exp); + if (x <= ZERO) { + throwMathDomainValueError(); + } + return log10(x) + (exp[0] * EIGHT) * log10(TWO); } return log10(v.asDouble()); } - private static double log10(double v) { - return check(Math.log10(v)); - } - public static double sinh(double v) { - return check(0.5 * (Math.exp(v) - Math.exp(-v))); + if (isnan(v)) { + return v; + } + if (isinf(v)) { + return v; + } + return HALF * (Math.exp(v) - Math.exp(-v)); } - public static double cosh(double v) { - return check(0.5 * (Math.exp(v) + Math.exp(-v))); - } - public static double tanh(double v) { - return check(sinh(v) / cosh(v)); + if (isnan(v)) { + return v; + } + if (isinf(v)) { + if (isninf(v)) { + return MINUS_ONE; + } + return ONE; + } + if (v == MINUS_ZERO) { + return v; + } + return sinh(v) / cosh(v); } public static double fabs(double v) { @@ -153,11 +309,33 @@ } public static double fmod(double v, double w) { + if (isnan(v) || isnan(w)) { + return NAN; + } + if (isinf(w)) { + return v; + } + if (w == ZERO) { + throwMathDomainValueError(); + } + if (isinf(v) && w == ONE) { + throwMathDomainValueError(); + } return v % w; } public static PyTuple modf(double v) { - double w = v % 1.0; + if (isnan(v)) { + return new PyTuple(new PyFloat(v), new PyFloat(v)); + } + if (isinf(v)) { + double first = ZERO; + if (isninf(v)) { + first = MINUS_ZERO; + } + return new PyTuple(new PyFloat(first), new PyFloat(v)); + } + double w = v % ONE; v -= w; return new PyTuple(new PyFloat(w), new PyFloat(v)); } @@ -165,39 +343,228 @@ public static PyTuple frexp(double x) { int exponent = 0; - if (Double.isNaN(x) || Double.isInfinite(x) || x == 0.0) { + if (isnan(x) || isinf(x) || x == ZERO) { exponent = 0; } else { short sign = 1; - if (x < 0.0) { + if (x < ZERO) { x = -x; sign = -1; } + + for (; x < HALF; x *= TWO, exponent--); // needs an empty statement - for (; x < 0.5; x *= 2.0, exponent--); + for (; x >= ONE; x *= HALF, exponent++); // needs an empty statement - for (; x >= 1.0; x *= 0.5, exponent++); - x *= sign; } return new PyTuple(new PyFloat(x), new PyInteger(exponent)); } public static double ldexp(double v, PyObject wObj) { - int w = wObj.asInt(); - return check(v * Math.pow(2.0, w)); + if (ZERO == v) { + return v; // can be negative zero + } + if (isinf(v)) { + return v; + } + if (isnan(v)) { + return v; + } + long w = getLong(wObj); + if (w == Long.MIN_VALUE) { + if (v > ZERO) { + return ZERO; + } + return MINUS_ZERO; + } + return checkOverflow(v * Math.pow(TWO, w)); } public static double hypot(double v, double w) { - return check(Math.hypot(v, w)); + if (isinf(v) || isinf(w)) { + return INF; + } + if (isnan(v) || isnan(w)) { + return NAN; + } + return Math.hypot(v, w); } public static double radians(double v) { - return check(Math.toRadians(v)); + return check(Math.toRadians(v)); } public static double degrees(double v) { - return check(Math.toDegrees(v)); + return check(Math.toDegrees(v)); } + + public static boolean isnan(double v) { + return Double.isNaN(v); + } + + /** + * @param v + * + * @return <code>true</code> if v is positive or negative infinity + */ + public static boolean isinf(double v) { + return Double.isInfinite(v); + } + + public static double copysign(double v, double w) { + if (isnan(v)) { + return NAN; + } + if (signum(v) == signum(w)) { + return v; + } + return v *= MINUS_ONE; + } + + public static PyLong factorial(double v) { + if (v == ZERO || v == ONE) { + return new PyLong(1); + } + if (v < ZERO || isnan(v) || isinf(v)) { + throwMathDomainValueError(); + } + if (!isIntegral(v)) { + throwMathDomainValueError(); + } + // long input should be big enough :-) + long value = (long)v; + BigInteger bi = new BigInteger(Long.toString(value)); + for (long l = value - 1; l > 1; l--) { + bi = bi.multiply(new BigInteger(Long.toString(l))); + } + return new PyLong(bi); + } + + public static double log1p(double v) { + return log(ONE + v); + } + + public static double fsum(double... values) { + // TODO need an iterable + // TODO need sys.float_info + return 0; + } + + private static double calculateLongLog(PyLong v) { + int exp[] = new int[1]; + double x = v.scaledDoubleValue(exp); + if (x <= ZERO) { + throwMathDomainValueError(); + } + return log(x) + (exp[0] * EIGHT) * log(TWO); + } + + private static double applyLoggedBase(double loggedValue, PyObject base) { + double loggedBase; + if (base instanceof PyLong) { + loggedBase = calculateLongLog((PyLong)base); + } else { + loggedBase = log(base.asDouble()); + } + return check(loggedValue / loggedBase); + } + + private static double log(double v) { + if (isninf(v)) { + throwMathDomainValueError(); + } + if (isinf(v) || isnan(v)) { + return v; + } + return Math.log(v); + } + + private static double log10(double v) { + if (isninf(v)) { + throwMathDomainValueError(); + } + if (isinf(v) || isnan(v)) { + return v; + } + return Math.log10(v); + } + + private static boolean isninf(double v) { + return v == NINF; + } + + private static boolean ispinf(double v) { + return v == INF; + } + + /** + * work around special Math.signum() behaviour for positive and negative zero + */ + private static double signum(double v) { + double signum = ONE; + if (v == ZERO) { + if ('-' == Double.toString(v).charAt(0)) { + signum = MINUS_ONE; + } + } else { + signum = Math.signum(v); + } + return signum; + } + + private static void throwMathDomainValueError() { + throw Py.ValueError("math domain error"); + } + + private static double check(double v) { + if (isnan(v)) + throwMathDomainValueError(); + if (isinf(v)) + throw Py.OverflowError("math range error"); + return v; + } + + private static double checkOverflow(double v) { + if (isinf(v)) { + throw Py.OverflowError("math range error"); + } + return v; + } + + /** + * convert a PyObject into a long between Long.MIN_VALUE and Long.MAX_VALUE + */ + private static long getLong(PyObject pyo) { + if (pyo instanceof PyLong) { + return getLong(((PyLong)pyo)); + } + return pyo.asLong(); + } + + /** + * convert a PyLong into a long between Long.MIN_VALUE and Long.MAX_VALUE + */ + private static long getLong(PyLong pyLong) { + BigInteger value = pyLong.getValue(); + if (value.compareTo(MAX_LONG_BIGINTEGER) > 0) { + return Long.MAX_VALUE; + } + if (value.compareTo(MIN_LONG_BIGINTEGER) < 0) { + return Long.MIN_VALUE; + } + return value.longValue(); + } + + + private static boolean isIntegral(double v) { + return ceil(v) - v == ZERO; + } + + + private static boolean isOdd(double v) { + return isIntegral(v) && v % TWO != ZERO; + } + } Added: trunk/jython/tests/java/org/python/compiler/ModuleTest.java =================================================================== --- trunk/jython/tests/java/org/python/compiler/ModuleTest.java (rev 0) +++ trunk/jython/tests/java/org/python/compiler/ModuleTest.java 2011-03-30 15:43:34 UTC (rev 7278) @@ -0,0 +1,21 @@ +package org.python.compiler; + +import junit.framework.TestCase; + +public class ModuleTest extends TestCase { + + /** + * In order to get testCopysign() in test_math.py passing, PyFloatConstant needs to distinguish + * between 0.0 and -0.0: + * + * <pre> + * # copysign should let us distinguish signs of zeros + * </pre> + */ + public void testPyFloatConstant_Zero() { + PyFloatConstant positiveZero = new PyFloatConstant(0.0); + PyFloatConstant negativeZero = new PyFloatConstant(-0.0); + assertNotSame(positiveZero, negativeZero); + assertFalse(positiveZero.equals(negativeZero)); + } +} Added: trunk/jython/tests/java/org/python/core/PyFloatTest.java =================================================================== --- trunk/jython/tests/java/org/python/core/PyFloatTest.java (rev 0) +++ trunk/jython/tests/java/org/python/core/PyFloatTest.java 2011-03-30 15:43:34 UTC (rev 7278) @@ -0,0 +1,63 @@ +package org.python.core; + +import junit.framework.TestCase; + +public class PyFloatTest extends TestCase { + + private final static double nan = Double.NaN; + + private final static double inf = Double.POSITIVE_INFINITY; + + private final static double ninf = Double.NEGATIVE_INFINITY; + + /** + * test the basic behavior of java.lang.Double extreme values + */ + public void test_Double_InfinityAndNaN() { + assertTrue(Double.NaN != nan); // this is the definition of NaN + assertTrue(Double.isNaN(nan)); + assertFalse(Double.isInfinite(nan)); + assertTrue(Double.POSITIVE_INFINITY == inf); + assertFalse(Double.isNaN(inf)); + assertTrue(Double.isInfinite(inf)); + assertTrue(Double.NEGATIVE_INFINITY == ninf); + assertFalse(Double.isNaN(ninf)); + assertTrue(Double.isInfinite(ninf)); + assertTrue(nan != inf); + assertTrue(nan != ninf); + assertTrue(inf != ninf); + } + + /** + * test extreme values + */ + public void testInfinityAndNaN() { + PyFloat fNan = new PyFloat(Double.NaN); + PyFloat fInf = new PyFloat(Double.POSITIVE_INFINITY); + PyFloat fNinf = new PyFloat(Double.NEGATIVE_INFINITY); + assertTrue(Double.NaN != fNan.getValue()); // this is the definition of NaN + assertTrue(Double.isNaN(fNan.getValue())); + assertFalse(Double.isInfinite(fNan.getValue())); + assertTrue(Double.POSITIVE_INFINITY == fInf.getValue()); + assertFalse(Double.isNaN(fInf.getValue())); + assertTrue(Double.isInfinite(fInf.getValue())); + assertTrue(Double.NEGATIVE_INFINITY == fNinf.getValue()); + assertFalse(Double.isNaN(fNinf.getValue())); + assertTrue(Double.isInfinite(fNinf.getValue())); + assertTrue(fNan.getValue() != fInf.getValue()); + assertTrue(fNan.getValue() != fNinf.getValue()); + assertTrue(fInf.getValue() != fNinf.getValue()); + } + + /** + * test formatting of extreme values + */ + public void testInfinityAndNaN_repr() { + PyFloat fNan = new PyFloat(Double.NaN); + PyFloat fInf = new PyFloat(Double.POSITIVE_INFINITY); + PyFloat fNinf = new PyFloat(Double.NEGATIVE_INFINITY); + assertEquals("nan", String.valueOf(fNan.__repr__())); + assertEquals("inf", String.valueOf(fInf.__repr__())); + assertEquals("-inf", String.valueOf(fNinf.__repr__())); + } +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fwi...@us...> - 2011-03-30 15:17:34
|
Revision: 7277 http://jython.svn.sourceforge.net/jython/?rev=7277&view=rev Author: fwierzbicki Date: 2011-03-30 15:17:27 +0000 (Wed, 30 Mar 2011) Log Message: ----------- Fix last of the rewrite astions that include -> ^(...) to be regular actions. Modified Paths: -------------- trunk/jython/grammar/Python.g trunk/jython/src/org/python/antlr/ast/Global.java trunk/jython/src/org/python/antlr/ast/ImportFrom.java Modified: trunk/jython/grammar/Python.g =================================================================== --- trunk/jython/grammar/Python.g 2011-03-30 02:58:28 UTC (rev 7276) +++ trunk/jython/grammar/Python.g 2011-03-30 15:17:27 UTC (rev 7277) @@ -901,19 +901,31 @@ //import_from: ('from' ('.'* dotted_name | '.'+) // 'import' ('*' | '(' import_as_names ')' | import_as_names)) import_from +@init { + stmt stype = null; +} +@after { + $import_from.tree = stype; +} : FROM (d+=DOT* dotted_name | d+=DOT+) IMPORT (STAR - -> ^(FROM<ImportFrom>[$FROM, actions.makeFromText($d, $dotted_name.names), - actions.makeModuleNameNode($d, $dotted_name.names), - actions.makeStarAlias($STAR), actions.makeLevel($d)]) + { + stype = new ImportFrom($FROM, actions.makeFromText($d, $dotted_name.names), + actions.makeModuleNameNode($d, $dotted_name.names), + actions.makeStarAlias($STAR), actions.makeLevel($d)); + } | i1=import_as_names - -> ^(FROM<ImportFrom>[$FROM, actions.makeFromText($d, $dotted_name.names), - actions.makeModuleNameNode($d, $dotted_name.names), - actions.makeAliases($i1.atypes), actions.makeLevel($d)]) + { + stype = new ImportFrom($FROM, actions.makeFromText($d, $dotted_name.names), + actions.makeModuleNameNode($d, $dotted_name.names), + actions.makeAliases($i1.atypes), actions.makeLevel($d)); + } | LPAREN i2=import_as_names COMMA? RPAREN - -> ^(FROM<ImportFrom>[$FROM, actions.makeFromText($d, $dotted_name.names), - actions.makeModuleNameNode($d, $dotted_name.names), - actions.makeAliases($i2.atypes), actions.makeLevel($d)]) + { + stype = new ImportFrom($FROM, actions.makeFromText($d, $dotted_name.names), + actions.makeModuleNameNode($d, $dotted_name.names), + actions.makeAliases($i2.atypes), actions.makeLevel($d)); + } ) ; @@ -971,8 +983,16 @@ //global_stmt: 'global' NAME (',' NAME)* global_stmt +@init { + stmt stype = null; +} +@after { + $global_stmt.tree = stype; +} : GLOBAL n+=NAME (COMMA n+=NAME)* - -> ^(GLOBAL<Global>[$GLOBAL, actions.makeNames($n), actions.makeNameNodes($n)]) + { + stype = new Global($GLOBAL, actions.makeNames($n), actions.makeNameNodes($n)); + } ; //exec_stmt: 'exec' expr ['in' test [',' test]] Modified: trunk/jython/src/org/python/antlr/ast/Global.java =================================================================== --- trunk/jython/src/org/python/antlr/ast/Global.java 2011-03-30 02:58:28 UTC (rev 7276) +++ trunk/jython/src/org/python/antlr/ast/Global.java 2011-03-30 15:17:27 UTC (rev 7277) @@ -88,8 +88,8 @@ this.names = names; } - public Global(Integer ttype, Token token, java.util.List<String> names, java.util.List<Name> nameNodes) { - super(ttype, token); + public Global(Token token, java.util.List<String> names, java.util.List<Name> nameNodes) { + super(token); this.names = names; this.nameNodes = nameNodes; } Modified: trunk/jython/src/org/python/antlr/ast/ImportFrom.java =================================================================== --- trunk/jython/src/org/python/antlr/ast/ImportFrom.java 2011-03-30 02:58:28 UTC (rev 7276) +++ trunk/jython/src/org/python/antlr/ast/ImportFrom.java 2011-03-30 15:17:27 UTC (rev 7277) @@ -117,10 +117,10 @@ setLevel(level); } - public ImportFrom(int ttype, Token token, + public ImportFrom(Token token, String module, List<Name> moduleNames, List<alias> names, Integer level) { - super(ttype, token); + super(token); this.module = module; this.names = names; if (names == null) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fwi...@us...> - 2011-03-30 02:58:34
|
Revision: 7276 http://jython.svn.sourceforge.net/jython/?rev=7276&view=rev Author: fwierzbicki Date: 2011-03-30 02:58:28 +0000 (Wed, 30 Mar 2011) Log Message: ----------- Merge with trunk. Modified Paths: -------------- branches/Release_2_5maint/jython/grammar/Python.g Modified: branches/Release_2_5maint/jython/grammar/Python.g =================================================================== --- branches/Release_2_5maint/jython/grammar/Python.g 2011-03-30 02:47:03 UTC (rev 7275) +++ branches/Release_2_5maint/jython/grammar/Python.g 2011-03-30 02:58:28 UTC (rev 7276) @@ -609,7 +609,7 @@ ( (aay=augassign y1=yield_expr { actions.checkAssign(actions.castExpr($lhs.tree)); - stype = new AugAssign($lhs.tree, actions.castExpr($lhs.tree), $aay.op, actions.castExpr($y1.tree)); + stype = new AugAssign($lhs.tree, actions.castExpr($lhs.tree), $aay.op, actions.castExpr($y1.etype)); } ) | (aat=augassign rhs=testlist[expr_contextType.Load] @@ -761,7 +761,6 @@ } ; - //del_stmt: 'del' exprlist del_stmt @init { @@ -860,7 +859,7 @@ } : yield_expr { - stype = new Expr($yield_expr.start, actions.castExpr($yield_expr.tree)); + stype = new Expr($yield_expr.start, actions.castExpr($yield_expr.etype)); } ; @@ -1033,16 +1032,28 @@ //not in CPython's Grammar file elif_clause returns [List stypes] +@init { + stmt stype = null; +} +@after { + if (stype != null) { + $elif_clause.tree = stype; + } +} : else_clause { $stypes = $else_clause.stypes; } | ELIF test[expr_contextType.Load] COLON suite[false] - (e2=elif_clause - -> ^(ELIF<If>[$test.start, actions.castExpr($test.tree), actions.castStmts($suite.stypes), actions.makeElse($e2.stypes, $e2.tree)]) - | - -> ^(ELIF<If>[$test.start, actions.castExpr($test.tree), actions.castStmts($suite.stypes), new ArrayList<stmt>()]) - ) + (e2=elif_clause + { + stype = new If($test.start, actions.castExpr($test.tree), actions.castStmts($suite.stypes), actions.makeElse($e2.stypes, $e2.tree)); + } + | + { + stype = new If($test.start, actions.castExpr($test.tree), actions.castStmts($suite.stypes), new ArrayList<stmt>()); + } + ) ; //not in CPython's Grammar file @@ -1177,9 +1188,19 @@ //test: or_test ['if' or_test 'else' test] | lambdef test[expr_contextType ctype] +@init { + expr etype = null; +} +@after { + if (etype != null) { + $test.tree = etype; + } +} :o1=or_test[ctype] ( (IF or_test[null] ORELSE) => IF o2=or_test[ctype] ORELSE e=test[expr_contextType.Load] - -> ^(IF<IfExp>[$o1.start, actions.castExpr($o2.tree), actions.castExpr($o1.tree), actions.castExpr($e.tree)]) + { + etype = new IfExp($o1.start, actions.castExpr($o2.tree), actions.castExpr($o1.tree), actions.castExpr($e.tree)); + } | -> or_test ) @@ -1229,8 +1250,18 @@ //not_test: 'not' not_test | comparison not_test [expr_contextType ctype] returns [Token leftTok] +@init { + expr etype = null; +} +@after { + if (etype != null) { + $not_test.tree = etype; + } +} : NOT nt=not_test[ctype] - -> ^(NOT<UnaryOp>[$NOT, unaryopType.Not, actions.castExpr($nt.tree)]) + { + etype = new UnaryOp($NOT, unaryopType.Not, actions.castExpr($nt.tree)); + } | comparison[ctype] { $leftTok = $comparison.leftTok; @@ -1591,47 +1622,79 @@ // NAME | NUMBER | STRING+) atom returns [Token lparen = null] +@init { + expr etype = null; +} +@after { + if (etype != null) { + $atom.tree = etype; + } +} : LPAREN { $lparen = $LPAREN; } ( yield_expr - -> yield_expr + { + etype = $yield_expr.etype; + } | testlist_gexp -> testlist_gexp | - -> ^(LPAREN<Tuple>[$LPAREN, new ArrayList<expr>(), $expr::ctype]) + { + etype = new Tuple($LPAREN, new ArrayList<expr>(), $expr::ctype); + } ) RPAREN | LBRACK (listmaker[$LBRACK] -> listmaker | - -> ^(LBRACK<org.python.antlr.ast.List>[$LBRACK, new ArrayList<expr>(), $expr::ctype]) + { + etype = new org.python.antlr.ast.List($LBRACK, new ArrayList<expr>(), $expr::ctype); + } ) RBRACK | LCURLY (dictmaker - -> ^(LCURLY<Dict>[$LCURLY, actions.castExprs($dictmaker.keys), - actions.castExprs($dictmaker.values)]) + { + etype = new Dict($LCURLY, actions.castExprs($dictmaker.keys), + actions.castExprs($dictmaker.values)); + } | - -> ^(LCURLY<Dict>[$LCURLY, new ArrayList<expr>(), new ArrayList<expr>()]) + { + etype = new Dict($LCURLY, new ArrayList<expr>(), new ArrayList<expr>()); + } ) RCURLY | lb=BACKQUOTE testlist[expr_contextType.Load] rb=BACKQUOTE - -> ^(BACKQUOTE<Repr>[$lb, actions.castExpr($testlist.tree)]) + { + etype = new Repr($lb, actions.castExpr($testlist.tree)); + } | NAME - -> ^(NAME<Name>[$NAME, $NAME.text, $expr::ctype]) + { + etype = new Name($NAME, $NAME.text, $expr::ctype); + } | INT - -> ^(INT<Num>[$INT, actions.makeInt($INT)]) + { + etype = new Num($INT, actions.makeInt($INT)); + } | LONGINT - -> ^(LONGINT<Num>[$LONGINT, actions.makeInt($LONGINT)]) + { + etype = new Num($LONGINT, actions.makeInt($LONGINT)); + } | FLOAT - -> ^(FLOAT<Num>[$FLOAT, actions.makeFloat($FLOAT)]) + { + etype = new Num($FLOAT, actions.makeFloat($FLOAT)); + } | COMPLEX - -> ^(COMPLEX<Num>[$COMPLEX, actions.makeComplex($COMPLEX)]) + { + etype = new Num($COMPLEX, actions.makeComplex($COMPLEX)); + } | (S+=STRING)+ - -> ^(STRING<Str>[actions.extractStringToken($S), actions.extractStrings($S, encoding)]) + { + etype = new Str(actions.extractStringToken($S), actions.extractStrings($S, encoding)); + } ; //listmaker: test ( list_for | (',' test)* [','] ) @@ -1669,10 +1732,12 @@ } } : t+=test[$expr::ctype] - ( ((options {k=2;}: c1=COMMA t+=test[$expr::ctype])* (c2=COMMA)? - -> { $c1 != null || $c2 != null }? ^(COMMA<Tuple>[$testlist_gexp.start, actions.castExprs($t), $expr::ctype]) - -> test - ) + ( (options {k=2;}: c1=COMMA t+=test[$expr::ctype])* (c2=COMMA)? + { $c1 != null || $c2 != null }? + { + etype = new Tuple($testlist_gexp.start, actions.castExprs($t), $expr::ctype); + } + | -> test | (gen_for[gens] { Collections.reverse(gens); @@ -1706,19 +1771,35 @@ ; //trailer: '(' [arglist] ')' | '[' subscriptlist ']' | '.' NAME -trailer [Token begin, PythonTree tree] +trailer [Token begin, PythonTree ptree] +@init { + expr etype = null; +} +@after { + if (etype != null) { + $trailer.tree = etype; + } +} : LPAREN - (arglist - -> ^(LPAREN<Call>[$begin, actions.castExpr($tree), actions.castExprs($arglist.args), - actions.makeKeywords($arglist.keywords), $arglist.starargs, $arglist.kwargs]) - | - -> ^(LPAREN<Call>[$begin, actions.castExpr($tree), new ArrayList<expr>(), new ArrayList<keyword>(), null, null]) - ) + (arglist + { + etype = new Call($begin, actions.castExpr($ptree), actions.castExprs($arglist.args), + actions.makeKeywords($arglist.keywords), $arglist.starargs, $arglist.kwargs); + } + | + { + etype = new Call($begin, actions.castExpr($ptree), new ArrayList<expr>(), new ArrayList<keyword>(), null, null); + } + ) RPAREN | LBRACK subscriptlist[$begin] RBRACK - -> ^(LBRACK<Subscript>[$begin, actions.castExpr($tree), actions.castSlice($subscriptlist.tree), $expr::ctype]) + { + etype = new Subscript($begin, actions.castExpr($ptree), actions.castSlice($subscriptlist.tree), $expr::ctype); + } | DOT attr - -> ^(DOT<Attribute>[$begin, actions.castExpr($tree), new Name($attr.tree, $attr.text, expr_contextType.Load), $expr::ctype]) + { + etype = new Attribute($begin, actions.castExpr($ptree), new Name($attr.tree, $attr.text, expr_contextType.Load), $expr::ctype); + } ; //subscriptlist: subscript (',' subscript)* [','] @@ -1739,16 +1820,16 @@ subscript returns [slice sltype] @after { - if ($sltype != null) { - $subscript.tree = $sltype; - } + $subscript.tree = $sltype; } : d1=DOT DOT DOT - -> DOT<Ellipsis>[$d1] + { + $sltype = new Ellipsis($d1); + } | (test[null] COLON) => lower=test[expr_contextType.Load] (c1=COLON (upper1=test[expr_contextType.Load])? (sliceop)?)? { - $sltype = actions.makeSubscript($lower.tree, $c1, $upper1.tree, $sliceop.tree); + $sltype = actions.makeSubscript($lower.tree, $c1, $upper1.tree, $sliceop.tree); } | (COLON) => c2=COLON (upper2=test[expr_contextType.Load])? (sliceop)? @@ -1756,16 +1837,28 @@ $sltype = actions.makeSubscript(null, $c2, $upper2.tree, $sliceop.tree); } | test[expr_contextType.Load] - -> ^(LPAREN<Index>[$test.start, actions.castExpr($test.tree)]) + { + $sltype = new Index($test.start, actions.castExpr($test.tree)); + } ; //sliceop: ':' [test] sliceop +@init { + expr etype = null; +} +@after { + if (etype != null) { + $sliceop.tree = etype; + } +} : COLON (test[expr_contextType.Load] -> test | - -> ^(COLON<Name>[$COLON, "None", expr_contextType.Load]) + { + etype = new Name($COLON, "None", expr_contextType.Load); + } ) ; @@ -1794,9 +1887,19 @@ //testlist: test (',' test)* [','] testlist[expr_contextType ctype] +@init { + expr etype = null; +} +@after { + if (etype != null) { + $testlist.tree = etype; + } +} : (test[null] COMMA) => t+=test[ctype] (options {k=2;}: COMMA t+=test[ctype])* (COMMA)? - -> ^(COMMA<Tuple>[$testlist.start, actions.castExprs($t), ctype]) + { + etype = new Tuple($testlist.start, actions.castExprs($t), ctype); + } | test[ctype] ; @@ -1952,8 +2055,15 @@ //yield_expr: 'yield' [testlist] yield_expr + returns [expr etype] +@after { + //needed for y2+=yield_expr + $yield_expr.tree = $etype; +} : YIELD testlist[expr_contextType.Load]? - -> ^(YIELD<Yield>[$YIELD, actions.castExpr($testlist.tree)]) + { + $etype = new Yield($YIELD, actions.castExpr($testlist.tree)); + } ; AS : 'as' ; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fwi...@us...> - 2011-03-30 02:47:10
|
Revision: 7275 http://jython.svn.sourceforge.net/jython/?rev=7275&view=rev Author: fwierzbicki Date: 2011-03-30 02:47:03 +0000 (Wed, 30 Mar 2011) Log Message: ----------- More rewrite actions changed to plain actions. Modified Paths: -------------- trunk/jython/grammar/Python.g Modified: trunk/jython/grammar/Python.g =================================================================== --- trunk/jython/grammar/Python.g 2011-03-29 01:58:24 UTC (rev 7274) +++ trunk/jython/grammar/Python.g 2011-03-30 02:47:03 UTC (rev 7275) @@ -609,7 +609,7 @@ ( (aay=augassign y1=yield_expr { actions.checkAssign(actions.castExpr($lhs.tree)); - stype = new AugAssign($lhs.tree, actions.castExpr($lhs.tree), $aay.op, actions.castExpr($y1.tree)); + stype = new AugAssign($lhs.tree, actions.castExpr($lhs.tree), $aay.op, actions.castExpr($y1.etype)); } ) | (aat=augassign rhs=testlist[expr_contextType.Load] @@ -859,7 +859,7 @@ } : yield_expr { - stype = new Expr($yield_expr.start, actions.castExpr($yield_expr.tree)); + stype = new Expr($yield_expr.start, actions.castExpr($yield_expr.etype)); } ; @@ -1013,6 +1013,7 @@ | (decorators? DEF) => funcdef | classdef ; + //if_stmt: 'if' test ':' suite ('elif' test ':' suite)* ['else' ':' suite] if_stmt @init { @@ -1031,16 +1032,28 @@ //not in CPython's Grammar file elif_clause returns [List stypes] +@init { + stmt stype = null; +} +@after { + if (stype != null) { + $elif_clause.tree = stype; + } +} : else_clause { $stypes = $else_clause.stypes; } | ELIF test[expr_contextType.Load] COLON suite[false] - (e2=elif_clause - -> ^(ELIF<If>[$test.start, actions.castExpr($test.tree), actions.castStmts($suite.stypes), actions.makeElse($e2.stypes, $e2.tree)]) - | - -> ^(ELIF<If>[$test.start, actions.castExpr($test.tree), actions.castStmts($suite.stypes), new ArrayList<stmt>()]) - ) + (e2=elif_clause + { + stype = new If($test.start, actions.castExpr($test.tree), actions.castStmts($suite.stypes), actions.makeElse($e2.stypes, $e2.tree)); + } + | + { + stype = new If($test.start, actions.castExpr($test.tree), actions.castStmts($suite.stypes), new ArrayList<stmt>()); + } + ) ; //not in CPython's Grammar file @@ -1175,9 +1188,19 @@ //test: or_test ['if' or_test 'else' test] | lambdef test[expr_contextType ctype] +@init { + expr etype = null; +} +@after { + if (etype != null) { + $test.tree = etype; + } +} :o1=or_test[ctype] ( (IF or_test[null] ORELSE) => IF o2=or_test[ctype] ORELSE e=test[expr_contextType.Load] - -> ^(IF<IfExp>[$o1.start, actions.castExpr($o2.tree), actions.castExpr($o1.tree), actions.castExpr($e.tree)]) + { + etype = new IfExp($o1.start, actions.castExpr($o2.tree), actions.castExpr($o1.tree), actions.castExpr($e.tree)); + } | -> or_test ) @@ -1227,8 +1250,18 @@ //not_test: 'not' not_test | comparison not_test [expr_contextType ctype] returns [Token leftTok] +@init { + expr etype = null; +} +@after { + if (etype != null) { + $not_test.tree = etype; + } +} : NOT nt=not_test[ctype] - -> ^(NOT<UnaryOp>[$NOT, unaryopType.Not, actions.castExpr($nt.tree)]) + { + etype = new UnaryOp($NOT, unaryopType.Not, actions.castExpr($nt.tree)); + } | comparison[ctype] { $leftTok = $comparison.leftTok; @@ -1589,47 +1622,79 @@ // NAME | NUMBER | STRING+) atom returns [Token lparen = null] +@init { + expr etype = null; +} +@after { + if (etype != null) { + $atom.tree = etype; + } +} : LPAREN { $lparen = $LPAREN; } ( yield_expr - -> yield_expr + { + etype = $yield_expr.etype; + } | testlist_gexp -> testlist_gexp | - -> ^(LPAREN<Tuple>[$LPAREN, new ArrayList<expr>(), $expr::ctype]) + { + etype = new Tuple($LPAREN, new ArrayList<expr>(), $expr::ctype); + } ) RPAREN | LBRACK (listmaker[$LBRACK] -> listmaker | - -> ^(LBRACK<org.python.antlr.ast.List>[$LBRACK, new ArrayList<expr>(), $expr::ctype]) + { + etype = new org.python.antlr.ast.List($LBRACK, new ArrayList<expr>(), $expr::ctype); + } ) RBRACK | LCURLY (dictmaker - -> ^(LCURLY<Dict>[$LCURLY, actions.castExprs($dictmaker.keys), - actions.castExprs($dictmaker.values)]) + { + etype = new Dict($LCURLY, actions.castExprs($dictmaker.keys), + actions.castExprs($dictmaker.values)); + } | - -> ^(LCURLY<Dict>[$LCURLY, new ArrayList<expr>(), new ArrayList<expr>()]) + { + etype = new Dict($LCURLY, new ArrayList<expr>(), new ArrayList<expr>()); + } ) RCURLY | lb=BACKQUOTE testlist[expr_contextType.Load] rb=BACKQUOTE - -> ^(BACKQUOTE<Repr>[$lb, actions.castExpr($testlist.tree)]) + { + etype = new Repr($lb, actions.castExpr($testlist.tree)); + } | NAME - -> ^(NAME<Name>[$NAME, $NAME.text, $expr::ctype]) + { + etype = new Name($NAME, $NAME.text, $expr::ctype); + } | INT - -> ^(INT<Num>[$INT, actions.makeInt($INT)]) + { + etype = new Num($INT, actions.makeInt($INT)); + } | LONGINT - -> ^(LONGINT<Num>[$LONGINT, actions.makeInt($LONGINT)]) + { + etype = new Num($LONGINT, actions.makeInt($LONGINT)); + } | FLOAT - -> ^(FLOAT<Num>[$FLOAT, actions.makeFloat($FLOAT)]) + { + etype = new Num($FLOAT, actions.makeFloat($FLOAT)); + } | COMPLEX - -> ^(COMPLEX<Num>[$COMPLEX, actions.makeComplex($COMPLEX)]) + { + etype = new Num($COMPLEX, actions.makeComplex($COMPLEX)); + } | (S+=STRING)+ - -> ^(STRING<Str>[actions.extractStringToken($S), actions.extractStrings($S, encoding)]) + { + etype = new Str(actions.extractStringToken($S), actions.extractStrings($S, encoding)); + } ; //listmaker: test ( list_for | (',' test)* [','] ) @@ -1667,10 +1732,12 @@ } } : t+=test[$expr::ctype] - ( ((options {k=2;}: c1=COMMA t+=test[$expr::ctype])* (c2=COMMA)? - -> { $c1 != null || $c2 != null }? ^(COMMA<Tuple>[$testlist_gexp.start, actions.castExprs($t), $expr::ctype]) - -> test - ) + ( (options {k=2;}: c1=COMMA t+=test[$expr::ctype])* (c2=COMMA)? + { $c1 != null || $c2 != null }? + { + etype = new Tuple($testlist_gexp.start, actions.castExprs($t), $expr::ctype); + } + | -> test | (gen_for[gens] { Collections.reverse(gens); @@ -1704,19 +1771,35 @@ ; //trailer: '(' [arglist] ')' | '[' subscriptlist ']' | '.' NAME -trailer [Token begin, PythonTree tree] +trailer [Token begin, PythonTree ptree] +@init { + expr etype = null; +} +@after { + if (etype != null) { + $trailer.tree = etype; + } +} : LPAREN - (arglist - -> ^(LPAREN<Call>[$begin, actions.castExpr($tree), actions.castExprs($arglist.args), - actions.makeKeywords($arglist.keywords), $arglist.starargs, $arglist.kwargs]) - | - -> ^(LPAREN<Call>[$begin, actions.castExpr($tree), new ArrayList<expr>(), new ArrayList<keyword>(), null, null]) - ) + (arglist + { + etype = new Call($begin, actions.castExpr($ptree), actions.castExprs($arglist.args), + actions.makeKeywords($arglist.keywords), $arglist.starargs, $arglist.kwargs); + } + | + { + etype = new Call($begin, actions.castExpr($ptree), new ArrayList<expr>(), new ArrayList<keyword>(), null, null); + } + ) RPAREN | LBRACK subscriptlist[$begin] RBRACK - -> ^(LBRACK<Subscript>[$begin, actions.castExpr($tree), actions.castSlice($subscriptlist.tree), $expr::ctype]) + { + etype = new Subscript($begin, actions.castExpr($ptree), actions.castSlice($subscriptlist.tree), $expr::ctype); + } | DOT attr - -> ^(DOT<Attribute>[$begin, actions.castExpr($tree), new Name($attr.tree, $attr.text, expr_contextType.Load), $expr::ctype]) + { + etype = new Attribute($begin, actions.castExpr($ptree), new Name($attr.tree, $attr.text, expr_contextType.Load), $expr::ctype); + } ; //subscriptlist: subscript (',' subscript)* [','] @@ -1737,16 +1820,16 @@ subscript returns [slice sltype] @after { - if ($sltype != null) { - $subscript.tree = $sltype; - } + $subscript.tree = $sltype; } : d1=DOT DOT DOT - -> DOT<Ellipsis>[$d1] + { + $sltype = new Ellipsis($d1); + } | (test[null] COLON) => lower=test[expr_contextType.Load] (c1=COLON (upper1=test[expr_contextType.Load])? (sliceop)?)? { - $sltype = actions.makeSubscript($lower.tree, $c1, $upper1.tree, $sliceop.tree); + $sltype = actions.makeSubscript($lower.tree, $c1, $upper1.tree, $sliceop.tree); } | (COLON) => c2=COLON (upper2=test[expr_contextType.Load])? (sliceop)? @@ -1754,16 +1837,28 @@ $sltype = actions.makeSubscript(null, $c2, $upper2.tree, $sliceop.tree); } | test[expr_contextType.Load] - -> ^(LPAREN<Index>[$test.start, actions.castExpr($test.tree)]) + { + $sltype = new Index($test.start, actions.castExpr($test.tree)); + } ; //sliceop: ':' [test] sliceop +@init { + expr etype = null; +} +@after { + if (etype != null) { + $sliceop.tree = etype; + } +} : COLON (test[expr_contextType.Load] -> test | - -> ^(COLON<Name>[$COLON, "None", expr_contextType.Load]) + { + etype = new Name($COLON, "None", expr_contextType.Load); + } ) ; @@ -1792,9 +1887,19 @@ //testlist: test (',' test)* [','] testlist[expr_contextType ctype] +@init { + expr etype = null; +} +@after { + if (etype != null) { + $testlist.tree = etype; + } +} : (test[null] COMMA) => t+=test[ctype] (options {k=2;}: COMMA t+=test[ctype])* (COMMA)? - -> ^(COMMA<Tuple>[$testlist.start, actions.castExprs($t), ctype]) + { + etype = new Tuple($testlist.start, actions.castExprs($t), ctype); + } | test[ctype] ; @@ -1966,8 +2071,15 @@ //yield_expr: 'yield' [testlist] yield_expr + returns [expr etype] +@after { + //needed for y2+=yield_expr + $yield_expr.tree = $etype; +} : YIELD testlist[expr_contextType.Load]? - -> ^(YIELD<Yield>[$YIELD, actions.castExpr($testlist.tree)]) + { + $etype = new Yield($YIELD, actions.castExpr($testlist.tree)); + } ; //START OF LEXER RULES This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fwi...@us...> - 2011-03-29 01:58:31
|
Revision: 7274 http://jython.svn.sourceforge.net/jython/?rev=7274&view=rev Author: fwierzbicki Date: 2011-03-29 01:58:24 +0000 (Tue, 29 Mar 2011) Log Message: ----------- Merge from trunk. Modified Paths: -------------- branches/Release_2_5maint/jython/grammar/Python.g Modified: branches/Release_2_5maint/jython/grammar/Python.g =================================================================== --- branches/Release_2_5maint/jython/grammar/Python.g 2011-03-29 01:57:47 UTC (rev 7273) +++ branches/Release_2_5maint/jython/grammar/Python.g 2011-03-29 01:58:24 UTC (rev 7274) @@ -528,15 +528,24 @@ //fpdef: NAME | '(' fplist ')' fpdef[expr_contextType ctype] +@init { + expr etype = null; +} @after { + if (etype != null) { + $fpdef.tree = etype; + } actions.checkAssign(actions.castExpr($fpdef.tree)); } : NAME - -> ^(NAME<Name>[$NAME, $NAME.text, ctype]) + { + etype = new Name($NAME, $NAME.text, ctype); + } | (LPAREN fpdef[null] COMMA) => LPAREN fplist RPAREN - -> ^(LPAREN<Tuple>[$fplist.start, actions.castExprs($fplist.etypes), expr_contextType.Store]) - | LPAREN fplist RPAREN - -> fplist + { + etype = new Tuple($fplist.start, actions.castExprs($fplist.etypes), expr_contextType.Store); + } + | LPAREN! fplist RPAREN! ; //fplist: fpdef (',' fpdef)* [','] @@ -689,13 +698,26 @@ //print_stmt: 'print' ( [ test (',' test)* [','] ] | // '>>' test [ (',' test)+ [','] ] ) print_stmt +@init { + stmt stype = null; +} + +@after { + $print_stmt.tree = stype; +} : PRINT (t1=printlist - -> ^(PRINT<Print>[$PRINT, null, actions.castExprs($t1.elts), $t1.newline]) + { + stype = new Print($PRINT, null, actions.castExprs($t1.elts), $t1.newline); + } | RIGHTSHIFT t2=printlist2 - -> ^(PRINT<Print>[$PRINT, actions.castExpr($t2.elts.get(0)), actions.castExprs($t2.elts, 1), $t2.newline]) + { + stype = new Print($PRINT, actions.castExpr($t2.elts.get(0)), actions.castExprs($t2.elts, 1), $t2.newline); + } | - -> ^(PRINT<Print>[$PRINT, null, new ArrayList<expr>(), true]) + { + stype = new Print($PRINT, null, new ArrayList<expr>(), true); + } ) ; @@ -742,14 +764,30 @@ //del_stmt: 'del' exprlist del_stmt +@init { + stmt stype = null; +} +@after { + $del_stmt.tree = stype; +} : DELETE del_list - -> ^(DELETE<Delete>[$DELETE, $del_list.etypes]) + { + stype = new Delete($DELETE, $del_list.etypes); + } ; //pass_stmt: 'pass' pass_stmt +@init { + stmt stype = null; +} +@after { + $pass_stmt.tree = stype; +} : PASS - -> ^(PASS<Pass>[$PASS]) + { + stype = new Pass($PASS); + } ; //flow_stmt: break_stmt | continue_stmt | return_stmt | raise_stmt | yield_stmt @@ -763,42 +801,82 @@ //break_stmt: 'break' break_stmt +@init { + stmt stype = null; +} +@after { + $break_stmt.tree = stype; +} : BREAK - -> ^(BREAK<Break>[$BREAK]) + { + stype = new Break($BREAK); + } ; //continue_stmt: 'continue' continue_stmt +@init { + stmt stype = null; +} +@after { + $continue_stmt.tree = stype; +} : CONTINUE { if (!$suite.isEmpty() && $suite::continueIllegal) { errorHandler.error("'continue' not supported inside 'finally' clause", new PythonTree($continue_stmt.start)); } + stype = new Continue($CONTINUE); } - -> ^(CONTINUE<Continue>[$CONTINUE]) ; //return_stmt: 'return' [testlist] return_stmt +@init { + stmt stype = null; +} +@after { + $return_stmt.tree = stype; +} : RETURN (testlist[expr_contextType.Load] - -> ^(RETURN<Return>[$RETURN, actions.castExpr($testlist.tree)]) + { + stype = new Return($RETURN, actions.castExpr($testlist.tree)); + } | - -> ^(RETURN<Return>[$RETURN, null]) + { + stype = new Return($RETURN, null); + } ) ; //yield_stmt: yield_expr yield_stmt +@init { + stmt stype = null; +} +@after { + $yield_stmt.tree = stype; +} : yield_expr - -> ^(YIELD<Expr>[$yield_expr.start, actions.castExpr($yield_expr.tree)]) + { + stype = new Expr($yield_expr.start, actions.castExpr($yield_expr.tree)); + } ; //raise_stmt: 'raise' [test [',' test [',' test]]] raise_stmt +@init { + stmt stype = null; +} +@after { + $raise_stmt.tree = stype; +} : RAISE (t1=test[expr_contextType.Load] (COMMA t2=test[expr_contextType.Load] (COMMA t3=test[expr_contextType.Load])?)?)? - -> ^(RAISE<Raise>[$RAISE, actions.castExpr($t1.tree), actions.castExpr($t2.tree), actions.castExpr($t3.tree)]) + { + stype = new Raise($RAISE, actions.castExpr($t1.tree), actions.castExpr($t2.tree), actions.castExpr($t3.tree)); + } ; //import_stmt: import_name | import_from @@ -809,8 +887,16 @@ //import_name: 'import' dotted_as_names import_name +@init { + stmt stype = null; +} +@after { + $import_name.tree = stype; +} : IMPORT dotted_as_names - -> ^(IMPORT<Import>[$IMPORT, $dotted_as_names.atypes]) + { + stype = new Import($IMPORT, $dotted_as_names.atypes); + } ; //import_from: ('from' ('.'* dotted_name | '.'+) @@ -906,8 +992,16 @@ //assert_stmt: 'assert' test [',' test] assert_stmt +@init { + stmt stype = null; +} +@after { + $assert_stmt.tree = stype; +} : ASSERT t1=test[expr_contextType.Load] (COMMA t2=test[expr_contextType.Load])? - -> ^(ASSERT<Assert>[$ASSERT, actions.castExpr($t1.tree), actions.castExpr($t2.tree)]) + { + stype = new Assert($ASSERT, actions.castExpr($t1.tree), actions.castExpr($t2.tree)); + } ; //compound_stmt: if_stmt | while_stmt | for_stmt | try_stmt | funcdef | classdef @@ -923,9 +1017,17 @@ //if_stmt: 'if' test ':' suite ('elif' test ':' suite)* ['else' ':' suite] if_stmt +@init { + stmt stype = null; +} +@after { + $if_stmt.tree = stype; +} : IF test[expr_contextType.Load] COLON ifsuite=suite[false] elif_clause? - -> ^(IF<If>[$IF, actions.castExpr($test.tree), actions.castStmts($ifsuite.stypes), - actions.makeElse($elif_clause.stypes, $elif_clause.tree)]) + { + stype = new If($IF, actions.castExpr($test.tree), actions.castStmts($ifsuite.stypes), + actions.makeElse($elif_clause.stypes, $elif_clause.tree)); + } ; //not in CPython's Grammar file @@ -1032,9 +1134,17 @@ //except_clause: 'except' [test [',' test]] except_clause +@init { + excepthandler extype = null; +} +@after { + $except_clause.tree = extype; +} : EXCEPT (t1=test[expr_contextType.Load] (COMMA t2=test[expr_contextType.Store])?)? COLON suite[!$suite.isEmpty() && $suite::continueIllegal] - -> ^(EXCEPT<ExceptHandler>[$EXCEPT, actions.castExpr($t1.tree), actions.castExpr($t2.tree), - actions.castStmts($suite.stypes)]) + { + extype = new ExceptHandler($EXCEPT, actions.castExpr($t1.tree), actions.castExpr($t2.tree), + actions.castStmts($suite.stypes)); + } ; //suite: simple_stmt | NEWLINE INDENT stmt+ DEDENT This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fwi...@us...> - 2011-03-29 01:57:54
|
Revision: 7273 http://jython.svn.sourceforge.net/jython/?rev=7273&view=rev Author: fwierzbicki Date: 2011-03-29 01:57:47 +0000 (Tue, 29 Mar 2011) Log Message: ----------- Fix the rest of the easier rewrite rules. Modified Paths: -------------- trunk/jython/grammar/Python.g Modified: trunk/jython/grammar/Python.g =================================================================== --- trunk/jython/grammar/Python.g 2011-03-28 04:17:37 UTC (rev 7272) +++ trunk/jython/grammar/Python.g 2011-03-29 01:57:47 UTC (rev 7273) @@ -698,13 +698,26 @@ //print_stmt: 'print' ( [ test (',' test)* [','] ] | // '>>' test [ (',' test)+ [','] ] ) print_stmt +@init { + stmt stype = null; +} + +@after { + $print_stmt.tree = stype; +} : PRINT (t1=printlist - -> ^(PRINT<Print>[$PRINT, null, actions.castExprs($t1.elts), $t1.newline]) + { + stype = new Print($PRINT, null, actions.castExprs($t1.elts), $t1.newline); + } | RIGHTSHIFT t2=printlist2 - -> ^(PRINT<Print>[$PRINT, actions.castExpr($t2.elts.get(0)), actions.castExprs($t2.elts, 1), $t2.newline]) + { + stype = new Print($PRINT, actions.castExpr($t2.elts.get(0)), actions.castExprs($t2.elts, 1), $t2.newline); + } | - -> ^(PRINT<Print>[$PRINT, null, new ArrayList<expr>(), true]) + { + stype = new Print($PRINT, null, new ArrayList<expr>(), true); + } ) ; @@ -748,17 +761,32 @@ } ; - //del_stmt: 'del' exprlist del_stmt +@init { + stmt stype = null; +} +@after { + $del_stmt.tree = stype; +} : DELETE del_list - -> ^(DELETE<Delete>[$DELETE, $del_list.etypes]) + { + stype = new Delete($DELETE, $del_list.etypes); + } ; //pass_stmt: 'pass' pass_stmt +@init { + stmt stype = null; +} +@after { + $pass_stmt.tree = stype; +} : PASS - -> ^(PASS<Pass>[$PASS]) + { + stype = new Pass($PASS); + } ; //flow_stmt: break_stmt | continue_stmt | return_stmt | raise_stmt | yield_stmt @@ -772,42 +800,82 @@ //break_stmt: 'break' break_stmt +@init { + stmt stype = null; +} +@after { + $break_stmt.tree = stype; +} : BREAK - -> ^(BREAK<Break>[$BREAK]) + { + stype = new Break($BREAK); + } ; //continue_stmt: 'continue' continue_stmt +@init { + stmt stype = null; +} +@after { + $continue_stmt.tree = stype; +} : CONTINUE { if (!$suite.isEmpty() && $suite::continueIllegal) { errorHandler.error("'continue' not supported inside 'finally' clause", new PythonTree($continue_stmt.start)); } + stype = new Continue($CONTINUE); } - -> ^(CONTINUE<Continue>[$CONTINUE]) ; //return_stmt: 'return' [testlist] return_stmt +@init { + stmt stype = null; +} +@after { + $return_stmt.tree = stype; +} : RETURN (testlist[expr_contextType.Load] - -> ^(RETURN<Return>[$RETURN, actions.castExpr($testlist.tree)]) + { + stype = new Return($RETURN, actions.castExpr($testlist.tree)); + } | - -> ^(RETURN<Return>[$RETURN, null]) + { + stype = new Return($RETURN, null); + } ) ; //yield_stmt: yield_expr yield_stmt +@init { + stmt stype = null; +} +@after { + $yield_stmt.tree = stype; +} : yield_expr - -> ^(YIELD<Expr>[$yield_expr.start, actions.castExpr($yield_expr.tree)]) + { + stype = new Expr($yield_expr.start, actions.castExpr($yield_expr.tree)); + } ; //raise_stmt: 'raise' [test [',' test [',' test]]] raise_stmt +@init { + stmt stype = null; +} +@after { + $raise_stmt.tree = stype; +} : RAISE (t1=test[expr_contextType.Load] (COMMA t2=test[expr_contextType.Load] (COMMA t3=test[expr_contextType.Load])?)?)? - -> ^(RAISE<Raise>[$RAISE, actions.castExpr($t1.tree), actions.castExpr($t2.tree), actions.castExpr($t3.tree)]) + { + stype = new Raise($RAISE, actions.castExpr($t1.tree), actions.castExpr($t2.tree), actions.castExpr($t3.tree)); + } ; //import_stmt: import_name | import_from @@ -818,8 +886,16 @@ //import_name: 'import' dotted_as_names import_name +@init { + stmt stype = null; +} +@after { + $import_name.tree = stype; +} : IMPORT dotted_as_names - -> ^(IMPORT<Import>[$IMPORT, $dotted_as_names.atypes]) + { + stype = new Import($IMPORT, $dotted_as_names.atypes); + } ; //import_from: ('from' ('.'* dotted_name | '.'+) @@ -915,8 +991,16 @@ //assert_stmt: 'assert' test [',' test] assert_stmt +@init { + stmt stype = null; +} +@after { + $assert_stmt.tree = stype; +} : ASSERT t1=test[expr_contextType.Load] (COMMA t2=test[expr_contextType.Load])? - -> ^(ASSERT<Assert>[$ASSERT, actions.castExpr($t1.tree), actions.castExpr($t2.tree)]) + { + stype = new Assert($ASSERT, actions.castExpr($t1.tree), actions.castExpr($t2.tree)); + } ; //compound_stmt: if_stmt | while_stmt | for_stmt | try_stmt | funcdef | classdef @@ -929,12 +1013,19 @@ | (decorators? DEF) => funcdef | classdef ; - //if_stmt: 'if' test ':' suite ('elif' test ':' suite)* ['else' ':' suite] if_stmt +@init { + stmt stype = null; +} +@after { + $if_stmt.tree = stype; +} : IF test[expr_contextType.Load] COLON ifsuite=suite[false] elif_clause? - -> ^(IF<If>[$IF, actions.castExpr($test.tree), actions.castStmts($ifsuite.stypes), - actions.makeElse($elif_clause.stypes, $elif_clause.tree)]) + { + stype = new If($IF, actions.castExpr($test.tree), actions.castStmts($ifsuite.stypes), + actions.makeElse($elif_clause.stypes, $elif_clause.tree)); + } ; //not in CPython's Grammar file @@ -1041,9 +1132,17 @@ //except_clause: 'except' [test [('as' | ',') test]] except_clause +@init { + excepthandler extype = null; +} +@after { + $except_clause.tree = extype; +} : EXCEPT (t1=test[expr_contextType.Load] ((COMMA | AS) t2=test[expr_contextType.Store])?)? COLON suite[!$suite.isEmpty() && $suite::continueIllegal] - -> ^(EXCEPT<ExceptHandler>[$EXCEPT, actions.castExpr($t1.tree), actions.castExpr($t2.tree), - actions.castStmts($suite.stypes)]) + { + extype = new ExceptHandler($EXCEPT, actions.castExpr($t1.tree), actions.castExpr($t2.tree), + actions.castStmts($suite.stypes)); + } ; //suite: simple_stmt | NEWLINE INDENT stmt+ DEDENT This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fwi...@us...> - 2011-03-28 04:17:43
|
Revision: 7272 http://jython.svn.sourceforge.net/jython/?rev=7272&view=rev Author: fwierzbicki Date: 2011-03-28 04:17:37 +0000 (Mon, 28 Mar 2011) Log Message: ----------- Convert fpdef from rewrite action to regular action for consistency. Modified Paths: -------------- trunk/jython/grammar/Python.g Modified: trunk/jython/grammar/Python.g =================================================================== --- trunk/jython/grammar/Python.g 2011-03-28 01:33:33 UTC (rev 7271) +++ trunk/jython/grammar/Python.g 2011-03-28 04:17:37 UTC (rev 7272) @@ -528,15 +528,24 @@ //fpdef: NAME | '(' fplist ')' fpdef[expr_contextType ctype] +@init { + expr etype = null; +} @after { + if (etype != null) { + $fpdef.tree = etype; + } actions.checkAssign(actions.castExpr($fpdef.tree)); } : NAME - -> ^(NAME<Name>[$NAME, $NAME.text, ctype]) + { + etype = new Name($NAME, $NAME.text, ctype); + } | (LPAREN fpdef[null] COMMA) => LPAREN fplist RPAREN - -> ^(LPAREN<Tuple>[$fplist.start, actions.castExprs($fplist.etypes), expr_contextType.Store]) - | LPAREN fplist RPAREN - -> fplist + { + etype = new Tuple($fplist.start, actions.castExprs($fplist.etypes), expr_contextType.Store); + } + | LPAREN! fplist RPAREN! ; //fplist: fpdef (',' fpdef)* [','] This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fwi...@us...> - 2011-03-28 01:33:39
|
Revision: 7271 http://jython.svn.sourceforge.net/jython/?rev=7271&view=rev Author: fwierzbicki Date: 2011-03-28 01:33:33 +0000 (Mon, 28 Mar 2011) Log Message: ----------- Merge relevant grammar fixes from trunk. Modified Paths: -------------- branches/Release_2_5maint/jython/grammar/Python.g Modified: branches/Release_2_5maint/jython/grammar/Python.g =================================================================== --- branches/Release_2_5maint/jython/grammar/Python.g 2011-03-28 01:33:05 UTC (rev 7270) +++ branches/Release_2_5maint/jython/grammar/Python.g 2011-03-28 01:33:33 UTC (rev 7271) @@ -205,15 +205,14 @@ * a = [3, * 4] */ +int implicitLineJoiningLevel = 0; +int startPos=-1; //For use in partial parsing. public boolean eofWhileNested = false; public boolean partial = false; public boolean single = false; -int implicitLineJoiningLevel = 0; -int startPos=-1; - //If you want to use another error recovery mechanism change this //and the same one in the parser. private ErrorHandler errorHandler; @@ -268,6 +267,8 @@ } } +//START OF PARSER RULES + //single_input: NEWLINE | simple_stmt | compound_stmt NEWLINE single_input @init { @@ -319,8 +320,9 @@ : (NEWLINE | stmt { - if ($stmt.stypes != null) - {stypes.addAll($stmt.stypes);} + if ($stmt.stypes != null) { + stypes.addAll($stmt.stypes); + } } )* EOF { @@ -447,8 +449,13 @@ //funcdef: [decorators] 'def' NAME parameters ':' suite funcdef -@init { stmt stype = null; } -@after { $funcdef.tree = stype; } +@init { + stmt stype = null; +} + +@after { + $funcdef.tree = stype; +} : decorators? DEF NAME parameters COLON suite[false] { Token t = $DEF; @@ -606,12 +613,16 @@ | (testlist[null] ASSIGN) => lhs=testlist[expr_contextType.Store] ( | ((at=ASSIGN t+=testlist[expr_contextType.Store])+ - -> ^(ASSIGN<Assign>[$lhs.start, actions.makeAssignTargets(actions.castExpr($lhs.tree), $t), - actions.makeAssignValue($t)]) + { + stype = new Assign($lhs.tree, actions.makeAssignTargets( + actions.castExpr($lhs.tree), $t), actions.makeAssignValue($t)); + } ) | ((ay=ASSIGN y2+=yield_expr)+ - -> ^(ASSIGN<Assign>[$lhs.start, actions.makeAssignTargets(actions.castExpr($lhs.tree), $y2), - actions.makeAssignValue($y2)]) + { + stype = new Assign($lhs.start, actions.makeAssignTargets( + actions.castExpr($lhs.tree), $y2), actions.makeAssignValue($y2)); + } ) ) | lhs=testlist[expr_contextType.Load] @@ -626,29 +637,53 @@ augassign returns [operatorType op] : PLUSEQUAL - {$op = operatorType.Add;} + { + $op = operatorType.Add; + } | MINUSEQUAL - {$op = operatorType.Sub;} + { + $op = operatorType.Sub; + } | STAREQUAL - {$op = operatorType.Mult;} + { + $op = operatorType.Mult; + } | SLASHEQUAL - {$op = operatorType.Div;} + { + $op = operatorType.Div; + } | PERCENTEQUAL - {$op = operatorType.Mod;} + { + $op = operatorType.Mod; + } | AMPEREQUAL - {$op = operatorType.BitAnd;} + { + $op = operatorType.BitAnd; + } | VBAREQUAL - {$op = operatorType.BitOr;} + { + $op = operatorType.BitOr; + } | CIRCUMFLEXEQUAL - {$op = operatorType.BitXor;} + { + $op = operatorType.BitXor; + } | LEFTSHIFTEQUAL - {$op = operatorType.LShift;} + { + $op = operatorType.LShift; + } | RIGHTSHIFTEQUAL - {$op = operatorType.RShift;} + { + $op = operatorType.RShift; + } | DOUBLESTAREQUAL - {$op = operatorType.Pow;} + { + $op = operatorType.Pow; + } | DOUBLESLASHEQUAL - {$op = operatorType.FloorDiv;} + { + $op = operatorType.FloorDiv; + } ; //print_stmt: 'print' ( [ test (',' test)* [','] ] | @@ -991,6 +1026,7 @@ : (AS | NAME) expr[expr_contextType.Store] { $etype = actions.castExpr($expr.tree); + actions.checkAssign($etype); } ; @@ -1085,7 +1121,10 @@ [expr_contextType ctype] returns [Token leftTok] : NOT nt=not_test[ctype] -> ^(NOT<UnaryOp>[$NOT, unaryopType.Not, actions.castExpr($nt.tree)]) - | comparison[ctype] {$leftTok = $comparison.leftTok;} + | comparison[ctype] + { + $leftTok = $comparison.leftTok; + } ; //comparison: expr (comp_op expr)* @@ -1116,30 +1155,51 @@ comp_op returns [cmpopType op] : LESS - {$op = cmpopType.Lt;} + { + $op = cmpopType.Lt; + } | GREATER - {$op = cmpopType.Gt;} + { + $op = cmpopType.Gt; + } | EQUAL - {$op = cmpopType.Eq;} + { + $op = cmpopType.Eq; + } | GREATEREQUAL - {$op = cmpopType.GtE;} + { + $op = cmpopType.GtE; + } | LESSEQUAL - {$op = cmpopType.LtE;} + { + $op = cmpopType.LtE; + } | ALT_NOTEQUAL - {$op = cmpopType.NotEq;} + { + $op = cmpopType.NotEq; + } | NOTEQUAL - {$op = cmpopType.NotEq;} + { + $op = cmpopType.NotEq; + } | IN - {$op = cmpopType.In;} + { + $op = cmpopType.In; + } | NOT IN - {$op = cmpopType.NotIn;} + { + $op = cmpopType.NotIn; + } | IS - {$op = cmpopType.Is;} + { + $op = cmpopType.Is; + } | IS NOT - {$op = cmpopType.IsNot;} + { + $op = cmpopType.IsNot; + } ; - //expr: xor_expr ('|' xor_expr)* expr [expr_contextType ect] returns [Token leftTok] @@ -1242,9 +1302,13 @@ shift_op returns [operatorType op] : LEFTSHIFT - {$op = operatorType.LShift;} + { + $op = operatorType.LShift; + } | RIGHTSHIFT - {$op = operatorType.RShift;} + { + $op = operatorType.RShift; + } ; //arith_expr: term (('+'|'-') term)* @@ -1287,9 +1351,13 @@ arith_op returns [operatorType op] : PLUS - {$op = operatorType.Add;} + { + $op = operatorType.Add; + } | MINUS - {$op = operatorType.Sub;} + { + $op = operatorType.Sub; + } ; //term: factor (('*'|'/'|'%'|'//') factor)* @@ -1323,14 +1391,22 @@ term_op returns [operatorType op] - :STAR - {$op = operatorType.Mult;} - |SLASH - {$op = operatorType.Div;} - |PERCENT - {$op = operatorType.Mod;} - |DOUBLESLASH - {$op = operatorType.FloorDiv;} + : STAR + { + $op = operatorType.Mult; + } + | SLASH + { + $op = operatorType.Div; + } + | PERCENT + { + $op = operatorType.Mod; + } + | DOUBLESLASH + { + $op = operatorType.FloorDiv; + } ; //factor: ('+'|'-'|'~') factor | power @@ -1340,11 +1416,17 @@ $factor.tree = $etype; } : PLUS p=factor - {$etype = new UnaryOp($PLUS, unaryopType.UAdd, $p.etype);} + { + $etype = new UnaryOp($PLUS, unaryopType.UAdd, $p.etype); + } | MINUS m=factor - {$etype = actions.negate($MINUS, $m.etype);} + { + $etype = actions.negate($MINUS, $m.etype); + } | TILDE t=factor - {$etype = new UnaryOp($TILDE, unaryopType.Invert, $t.etype);} + { + $etype = new UnaryOp($TILDE, unaryopType.Invert, $t.etype); + } | power { $etype = actions.castExpr($power.tree); @@ -1399,7 +1481,10 @@ // NAME | NUMBER | STRING+) atom returns [Token lparen = null] - : LPAREN {$lparen = $LPAREN;} + : LPAREN + { + $lparen = $LPAREN; + } ( yield_expr -> yield_expr | testlist_gexp @@ -1475,8 +1560,7 @@ } : t+=test[$expr::ctype] ( ((options {k=2;}: c1=COMMA t+=test[$expr::ctype])* (c2=COMMA)? - -> { $c1 != null || $c2 != null }? - ^(COMMA<Tuple>[$testlist_gexp.start, actions.castExprs($t), $expr::ctype]) + -> { $c1 != null || $c2 != null }? ^(COMMA<Tuple>[$testlist_gexp.start, actions.castExprs($t), $expr::ctype]) -> test ) | (gen_for[gens] @@ -1665,11 +1749,11 @@ | STAR s=test[expr_contextType.Load] (COMMA DOUBLESTAR k=test[expr_contextType.Load])? { $starargs=actions.castExpr($s.tree); - $kwargs=actions.castExpr($k.tree); + $kwargs=actions.castExpr($k.tree); } | DOUBLESTAR k=test[expr_contextType.Load] { - $kwargs=actions.castExpr($k.tree); + $kwargs=actions.castExpr($k.tree); } ; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fwi...@us...> - 2011-03-28 01:33:11
|
Revision: 7270 http://jython.svn.sourceforge.net/jython/?rev=7270&view=rev Author: fwierzbicki Date: 2011-03-28 01:33:05 +0000 (Mon, 28 Mar 2011) Log Message: ----------- Convert from rewrite action to regular action for consistency, also fix some whitespace. Modified Paths: -------------- trunk/jython/grammar/Python.g Modified: trunk/jython/grammar/Python.g =================================================================== --- trunk/jython/grammar/Python.g 2011-03-26 16:22:17 UTC (rev 7269) +++ trunk/jython/grammar/Python.g 2011-03-28 01:33:05 UTC (rev 7270) @@ -613,12 +613,16 @@ | (testlist[null] ASSIGN) => lhs=testlist[expr_contextType.Store] ( | ((at=ASSIGN t+=testlist[expr_contextType.Store])+ - -> ^(ASSIGN<Assign>[$lhs.start, actions.makeAssignTargets(actions.castExpr($lhs.tree), $t), - actions.makeAssignValue($t)]) + { + stype = new Assign($lhs.tree, actions.makeAssignTargets( + actions.castExpr($lhs.tree), $t), actions.makeAssignValue($t)); + } ) | ((ay=ASSIGN y2+=yield_expr)+ - -> ^(ASSIGN<Assign>[$lhs.start, actions.makeAssignTargets(actions.castExpr($lhs.tree), $y2), - actions.makeAssignValue($y2)]) + { + stype = new Assign($lhs.start, actions.makeAssignTargets( + actions.castExpr($lhs.tree), $y2), actions.makeAssignValue($y2)); + } ) ) | lhs=testlist[expr_contextType.Load] @@ -1196,7 +1200,6 @@ } ; - //expr: xor_expr ('|' xor_expr)* expr [expr_contextType ect] returns [Token leftTok] @@ -1721,7 +1724,7 @@ ; //arglist: (argument ',')* (argument [','] -// |'*' test (',' argument)* [',' '**' test] +// |'*' test (',' argument)* [',' '**' test] // |'**' test) arglist returns [List args, List keywords, expr starargs, expr kwargs] This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fwi...@us...> - 2011-03-26 16:22:25
|
Revision: 7269 http://jython.svn.sourceforge.net/jython/?rev=7269&view=rev Author: fwierzbicki Date: 2011-03-26 16:22:17 +0000 (Sat, 26 Mar 2011) Log Message: ----------- Not using this anymore. Removed Paths: ------------- trunk/sandbox/wierzbicki/antlr/regr Deleted: trunk/sandbox/wierzbicki/antlr/regr =================================================================== --- trunk/sandbox/wierzbicki/antlr/regr 2011-03-26 16:21:37 UTC (rev 7268) +++ trunk/sandbox/wierzbicki/antlr/regr 2011-03-26 16:22:17 UTC (rev 7269) @@ -1,1249 +0,0 @@ -RELEASE25='/Users/frank/src/python/release25-maint' - -echo Lib/_ -./run $RELEASE25/Lib/__future__.py -./run $RELEASE25/Lib/__phello__.foo.py -./run $RELEASE25/Lib/_LWPCookieJar.py -./run $RELEASE25/Lib/_MozillaCookieJar.py -./run $RELEASE25/Lib/_strptime.py -./run $RELEASE25/Lib/_threading_local.py -echo Lib/a -./run $RELEASE25/Lib/aifc.py -./run $RELEASE25/Lib/anydbm.py -./run $RELEASE25/Lib/asynchat.py -./run $RELEASE25/Lib/asyncore.py -./run $RELEASE25/Lib/atexit.py -./run $RELEASE25/Lib/audiodev.py -echo Lib/b -./run $RELEASE25/Lib/base64.py -./run $RELEASE25/Lib/BaseHTTPServer.py -./run $RELEASE25/Lib/Bastion.py -./run $RELEASE25/Lib/bdb.py -./run $RELEASE25/Lib/binhex.py -./run $RELEASE25/Lib/bisect.py -echo Lib/bsddb -./run $RELEASE25/Lib/bsddb/__init__.py -./run $RELEASE25/Lib/bsddb/db.py -./run $RELEASE25/Lib/bsddb/dbobj.py -./run $RELEASE25/Lib/bsddb/dbrecio.py -./run $RELEASE25/Lib/bsddb/dbshelve.py -./run $RELEASE25/Lib/bsddb/dbtables.py -./run $RELEASE25/Lib/bsddb/dbutils.py -echo Lib/bsddb/test -./run $RELEASE25/Lib/bsddb/test/__init__.py -./run $RELEASE25/Lib/bsddb/test/test_1413192.py -./run $RELEASE25/Lib/bsddb/test/test_all.py -./run $RELEASE25/Lib/bsddb/test/test_associate.py -./run $RELEASE25/Lib/bsddb/test/test_basics.py -./run $RELEASE25/Lib/bsddb/test/test_compare.py -./run $RELEASE25/Lib/bsddb/test/test_compat.py -./run $RELEASE25/Lib/bsddb/test/test_cursor_pget_bug.py -./run $RELEASE25/Lib/bsddb/test/test_dbobj.py -./run $RELEASE25/Lib/bsddb/test/test_dbshelve.py -./run $RELEASE25/Lib/bsddb/test/test_dbtables.py -./run $RELEASE25/Lib/bsddb/test/test_env_close.py -./run $RELEASE25/Lib/bsddb/test/test_get_none.py -./run $RELEASE25/Lib/bsddb/test/test_join.py -./run $RELEASE25/Lib/bsddb/test/test_lock.py -./run $RELEASE25/Lib/bsddb/test/test_misc.py -./run $RELEASE25/Lib/bsddb/test/test_pickle.py -./run $RELEASE25/Lib/bsddb/test/test_queue.py -./run $RELEASE25/Lib/bsddb/test/test_recno.py -./run $RELEASE25/Lib/bsddb/test/test_sequence.py -./run $RELEASE25/Lib/bsddb/test/test_thread.py -echo Lib/c -./run $RELEASE25/Lib/calendar.py -./run $RELEASE25/Lib/cgi.py -./run $RELEASE25/Lib/CGIHTTPServer.py -./run $RELEASE25/Lib/cgitb.py -./run $RELEASE25/Lib/chunk.py -./run $RELEASE25/Lib/cmd.py -./run $RELEASE25/Lib/code.py -./run $RELEASE25/Lib/codecs.py -./run $RELEASE25/Lib/codeop.py -./run $RELEASE25/Lib/colorsys.py -./run $RELEASE25/Lib/commands.py -./run $RELEASE25/Lib/compileall.py -./run $RELEASE25/Lib/compiler/__init__.py -./run $RELEASE25/Lib/compiler/ast.py -./run $RELEASE25/Lib/compiler/consts.py -./run $RELEASE25/Lib/compiler/future.py -./run $RELEASE25/Lib/compiler/misc.py -./run $RELEASE25/Lib/compiler/pyassem.py -./run $RELEASE25/Lib/compiler/pycodegen.py -./run $RELEASE25/Lib/compiler/symbols.py -./run $RELEASE25/Lib/compiler/syntax.py -./run $RELEASE25/Lib/compiler/transformer.py -./run $RELEASE25/Lib/compiler/visitor.py -./run $RELEASE25/Lib/ConfigParser.py -./run $RELEASE25/Lib/contextlib.py -./run $RELEASE25/Lib/Cookie.py -./run $RELEASE25/Lib/cookielib.py -./run $RELEASE25/Lib/copy.py -./run $RELEASE25/Lib/copy_reg.py -./run $RELEASE25/Lib/cProfile.py -./run $RELEASE25/Lib/csv.py -./run $RELEASE25/Lib/ctypes/__init__.py -./run $RELEASE25/Lib/ctypes/_endian.py -./run $RELEASE25/Lib/ctypes/macholib/__init__.py -./run $RELEASE25/Lib/ctypes/macholib/dyld.py -./run $RELEASE25/Lib/ctypes/macholib/dylib.py -./run $RELEASE25/Lib/ctypes/macholib/framework.py -./run $RELEASE25/Lib/ctypes/test/__init__.py -./run $RELEASE25/Lib/ctypes/test/runtests.py -./run $RELEASE25/Lib/ctypes/test/test_anon.py -./run $RELEASE25/Lib/ctypes/test/test_array_in_pointer.py -./run $RELEASE25/Lib/ctypes/test/test_arrays.py -./run $RELEASE25/Lib/ctypes/test/test_as_parameter.py -./run $RELEASE25/Lib/ctypes/test/test_bitfields.py -./run $RELEASE25/Lib/ctypes/test/test_buffers.py -./run $RELEASE25/Lib/ctypes/test/test_byteswap.py -./run $RELEASE25/Lib/ctypes/test/test_callbacks.py -./run $RELEASE25/Lib/ctypes/test/test_cast.py -./run $RELEASE25/Lib/ctypes/test/test_cfuncs.py -./run $RELEASE25/Lib/ctypes/test/test_checkretval.py -./run $RELEASE25/Lib/ctypes/test/test_errcheck.py -./run $RELEASE25/Lib/ctypes/test/test_find.py -./run $RELEASE25/Lib/ctypes/test/test_funcptr.py -./run $RELEASE25/Lib/ctypes/test/test_functions.py -./run $RELEASE25/Lib/ctypes/test/test_incomplete.py -./run $RELEASE25/Lib/ctypes/test/test_init.py -./run $RELEASE25/Lib/ctypes/test/test_integers.py -./run $RELEASE25/Lib/ctypes/test/test_internals.py -./run $RELEASE25/Lib/ctypes/test/test_keeprefs.py -./run $RELEASE25/Lib/ctypes/test/test_libc.py -./run $RELEASE25/Lib/ctypes/test/test_loading.py -./run $RELEASE25/Lib/ctypes/test/test_macholib.py -./run $RELEASE25/Lib/ctypes/test/test_memfunctions.py -./run $RELEASE25/Lib/ctypes/test/test_numbers.py -./run $RELEASE25/Lib/ctypes/test/test_objects.py -./run $RELEASE25/Lib/ctypes/test/test_parameters.py -./run $RELEASE25/Lib/ctypes/test/test_pointers.py -./run $RELEASE25/Lib/ctypes/test/test_prototypes.py -./run $RELEASE25/Lib/ctypes/test/test_python_api.py -./run $RELEASE25/Lib/ctypes/test/test_random_things.py -./run $RELEASE25/Lib/ctypes/test/test_refcounts.py -./run $RELEASE25/Lib/ctypes/test/test_repr.py -./run $RELEASE25/Lib/ctypes/test/test_returnfuncptrs.py -./run $RELEASE25/Lib/ctypes/test/test_simplesubclasses.py -./run $RELEASE25/Lib/ctypes/test/test_sizes.py -./run $RELEASE25/Lib/ctypes/test/test_slicing.py -./run $RELEASE25/Lib/ctypes/test/test_stringptr.py -./run $RELEASE25/Lib/ctypes/test/test_strings.py -./run $RELEASE25/Lib/ctypes/test/test_struct_fields.py -./run $RELEASE25/Lib/ctypes/test/test_structures.py -./run $RELEASE25/Lib/ctypes/test/test_unaligned_structures.py -./run $RELEASE25/Lib/ctypes/test/test_unicode.py -./run $RELEASE25/Lib/ctypes/test/test_values.py -./run $RELEASE25/Lib/ctypes/test/test_varsize_struct.py -./run $RELEASE25/Lib/ctypes/test/test_win32.py -./run $RELEASE25/Lib/ctypes/util.py -./run $RELEASE25/Lib/ctypes/wintypes.py -./run $RELEASE25/Lib/curses/__init__.py -./run $RELEASE25/Lib/curses/ascii.py -./run $RELEASE25/Lib/curses/has_key.py -./run $RELEASE25/Lib/curses/panel.py -./run $RELEASE25/Lib/curses/textpad.py -./run $RELEASE25/Lib/curses/wrapper.py -echo Lib/d -./run $RELEASE25/Lib/dbhash.py -./run $RELEASE25/Lib/decimal.py -./run $RELEASE25/Lib/difflib.py -./run $RELEASE25/Lib/dircache.py -./run $RELEASE25/Lib/dis.py -./run $RELEASE25/Lib/distutils/__init__.py -./run $RELEASE25/Lib/distutils/archive_util.py -./run $RELEASE25/Lib/distutils/bcppcompiler.py -./run $RELEASE25/Lib/distutils/ccompiler.py -./run $RELEASE25/Lib/distutils/cmd.py -./run $RELEASE25/Lib/distutils/command/__init__.py -./run $RELEASE25/Lib/distutils/command/bdist.py -./run $RELEASE25/Lib/distutils/command/bdist_dumb.py -./run $RELEASE25/Lib/distutils/command/bdist_msi.py -./run $RELEASE25/Lib/distutils/command/bdist_rpm.py -./run $RELEASE25/Lib/distutils/command/bdist_wininst.py -./run $RELEASE25/Lib/distutils/command/build.py -./run $RELEASE25/Lib/distutils/command/build_clib.py -./run $RELEASE25/Lib/distutils/command/build_ext.py -./run $RELEASE25/Lib/distutils/command/build_py.py -./run $RELEASE25/Lib/distutils/command/build_scripts.py -./run $RELEASE25/Lib/distutils/command/clean.py -./run $RELEASE25/Lib/distutils/command/config.py -./run $RELEASE25/Lib/distutils/command/install.py -./run $RELEASE25/Lib/distutils/command/install_data.py -./run $RELEASE25/Lib/distutils/command/install_egg_info.py -./run $RELEASE25/Lib/distutils/command/install_headers.py -./run $RELEASE25/Lib/distutils/command/install_lib.py -./run $RELEASE25/Lib/distutils/command/install_scripts.py -./run $RELEASE25/Lib/distutils/command/register.py -./run $RELEASE25/Lib/distutils/command/sdist.py -./run $RELEASE25/Lib/distutils/command/upload.py -./run $RELEASE25/Lib/distutils/core.py -./run $RELEASE25/Lib/distutils/cygwinccompiler.py -./run $RELEASE25/Lib/distutils/debug.py -./run $RELEASE25/Lib/distutils/dep_util.py -./run $RELEASE25/Lib/distutils/dir_util.py -./run $RELEASE25/Lib/distutils/dist.py -./run $RELEASE25/Lib/distutils/emxccompiler.py -./run $RELEASE25/Lib/distutils/errors.py -./run $RELEASE25/Lib/distutils/extension.py -./run $RELEASE25/Lib/distutils/fancy_getopt.py -./run $RELEASE25/Lib/distutils/file_util.py -./run $RELEASE25/Lib/distutils/filelist.py -./run $RELEASE25/Lib/distutils/log.py -./run $RELEASE25/Lib/distutils/msvccompiler.py -./run $RELEASE25/Lib/distutils/mwerkscompiler.py -./run $RELEASE25/Lib/distutils/spawn.py -./run $RELEASE25/Lib/distutils/sysconfig.py -./run $RELEASE25/Lib/distutils/tests/__init__.py -./run $RELEASE25/Lib/distutils/tests/support.py -./run $RELEASE25/Lib/distutils/tests/test_build_py.py -./run $RELEASE25/Lib/distutils/tests/test_build_scripts.py -./run $RELEASE25/Lib/distutils/tests/test_dist.py -./run $RELEASE25/Lib/distutils/tests/test_install.py -./run $RELEASE25/Lib/distutils/tests/test_install_scripts.py -./run $RELEASE25/Lib/distutils/tests/test_versionpredicate.py -./run $RELEASE25/Lib/distutils/text_file.py -./run $RELEASE25/Lib/distutils/unixccompiler.py -./run $RELEASE25/Lib/distutils/util.py -./run $RELEASE25/Lib/distutils/version.py -./run $RELEASE25/Lib/distutils/versionpredicate.py -./run $RELEASE25/Lib/doctest.py -./run $RELEASE25/Lib/DocXMLRPCServer.py -./run $RELEASE25/Lib/dumbdbm.py -./run $RELEASE25/Lib/dummy_thread.py -./run $RELEASE25/Lib/dummy_threading.py -echo Lib/e -./run $RELEASE25/Lib/email/__init__.py -./run $RELEASE25/Lib/email/_parseaddr.py -./run $RELEASE25/Lib/email/base64mime.py -./run $RELEASE25/Lib/email/charset.py -./run $RELEASE25/Lib/email/encoders.py -./run $RELEASE25/Lib/email/errors.py -./run $RELEASE25/Lib/email/feedparser.py -./run $RELEASE25/Lib/email/generator.py -./run $RELEASE25/Lib/email/header.py -./run $RELEASE25/Lib/email/iterators.py -./run $RELEASE25/Lib/email/message.py -./run $RELEASE25/Lib/email/mime/__init__.py -./run $RELEASE25/Lib/email/mime/application.py -./run $RELEASE25/Lib/email/mime/audio.py -./run $RELEASE25/Lib/email/mime/base.py -./run $RELEASE25/Lib/email/mime/image.py -./run $RELEASE25/Lib/email/mime/message.py -./run $RELEASE25/Lib/email/mime/multipart.py -./run $RELEASE25/Lib/email/mime/nonmultipart.py -./run $RELEASE25/Lib/email/mime/text.py -./run $RELEASE25/Lib/email/parser.py -./run $RELEASE25/Lib/email/quoprimime.py -./run $RELEASE25/Lib/email/test/__init__.py -./run $RELEASE25/Lib/email/test/test_email.py -./run $RELEASE25/Lib/email/test/test_email_codecs.py -./run $RELEASE25/Lib/email/test/test_email_codecs_renamed.py -./run $RELEASE25/Lib/email/test/test_email_renamed.py -./run $RELEASE25/Lib/email/test/test_email_torture.py -./run $RELEASE25/Lib/email/utils.py -./run $RELEASE25/Lib/encodings/__init__.py -./run $RELEASE25/Lib/encodings/aliases.py -./run $RELEASE25/Lib/encodings/ascii.py -./run $RELEASE25/Lib/encodings/base64_codec.py -./run $RELEASE25/Lib/encodings/big5.py -./run $RELEASE25/Lib/encodings/big5hkscs.py -./run $RELEASE25/Lib/encodings/bz2_codec.py -./run $RELEASE25/Lib/encodings/charmap.py -./run $RELEASE25/Lib/encodings/cp037.py -./run $RELEASE25/Lib/encodings/cp1006.py -./run $RELEASE25/Lib/encodings/cp1026.py -./run $RELEASE25/Lib/encodings/cp1140.py -./run $RELEASE25/Lib/encodings/cp1250.py -./run $RELEASE25/Lib/encodings/cp1251.py -./run $RELEASE25/Lib/encodings/cp1252.py -./run $RELEASE25/Lib/encodings/cp1253.py -./run $RELEASE25/Lib/encodings/cp1254.py -./run $RELEASE25/Lib/encodings/cp1255.py -./run $RELEASE25/Lib/encodings/cp1256.py -./run $RELEASE25/Lib/encodings/cp1257.py -./run $RELEASE25/Lib/encodings/cp1258.py -./run $RELEASE25/Lib/encodings/cp424.py -./run $RELEASE25/Lib/encodings/cp437.py -./run $RELEASE25/Lib/encodings/cp500.py -./run $RELEASE25/Lib/encodings/cp737.py -./run $RELEASE25/Lib/encodings/cp775.py -./run $RELEASE25/Lib/encodings/cp850.py -./run $RELEASE25/Lib/encodings/cp852.py -./run $RELEASE25/Lib/encodings/cp855.py -./run $RELEASE25/Lib/encodings/cp856.py -./run $RELEASE25/Lib/encodings/cp857.py -./run $RELEASE25/Lib/encodings/cp860.py -./run $RELEASE25/Lib/encodings/cp861.py -./run $RELEASE25/Lib/encodings/cp862.py -./run $RELEASE25/Lib/encodings/cp863.py -./run $RELEASE25/Lib/encodings/cp864.py -./run $RELEASE25/Lib/encodings/cp865.py -./run $RELEASE25/Lib/encodings/cp866.py -./run $RELEASE25/Lib/encodings/cp869.py -./run $RELEASE25/Lib/encodings/cp874.py -./run $RELEASE25/Lib/encodings/cp875.py -./run $RELEASE25/Lib/encodings/cp932.py -./run $RELEASE25/Lib/encodings/cp949.py -./run $RELEASE25/Lib/encodings/cp950.py -./run $RELEASE25/Lib/encodings/euc_jis_2004.py -./run $RELEASE25/Lib/encodings/euc_jisx0213.py -./run $RELEASE25/Lib/encodings/euc_jp.py -./run $RELEASE25/Lib/encodings/euc_kr.py -./run $RELEASE25/Lib/encodings/gb18030.py -./run $RELEASE25/Lib/encodings/gb2312.py -./run $RELEASE25/Lib/encodings/gbk.py -./run $RELEASE25/Lib/encodings/hex_codec.py -./run $RELEASE25/Lib/encodings/hp_roman8.py -./run $RELEASE25/Lib/encodings/hz.py -./run $RELEASE25/Lib/encodings/idna.py -./run $RELEASE25/Lib/encodings/iso2022_jp.py -./run $RELEASE25/Lib/encodings/iso2022_jp_1.py -./run $RELEASE25/Lib/encodings/iso2022_jp_2.py -./run $RELEASE25/Lib/encodings/iso2022_jp_2004.py -./run $RELEASE25/Lib/encodings/iso2022_jp_3.py -./run $RELEASE25/Lib/encodings/iso2022_jp_ext.py -./run $RELEASE25/Lib/encodings/iso2022_kr.py -./run $RELEASE25/Lib/encodings/iso8859_1.py -./run $RELEASE25/Lib/encodings/iso8859_10.py -./run $RELEASE25/Lib/encodings/iso8859_11.py -./run $RELEASE25/Lib/encodings/iso8859_13.py -./run $RELEASE25/Lib/encodings/iso8859_14.py -./run $RELEASE25/Lib/encodings/iso8859_15.py -./run $RELEASE25/Lib/encodings/iso8859_16.py -./run $RELEASE25/Lib/encodings/iso8859_2.py -./run $RELEASE25/Lib/encodings/iso8859_3.py -./run $RELEASE25/Lib/encodings/iso8859_4.py -./run $RELEASE25/Lib/encodings/iso8859_5.py -./run $RELEASE25/Lib/encodings/iso8859_6.py -./run $RELEASE25/Lib/encodings/iso8859_7.py -./run $RELEASE25/Lib/encodings/iso8859_8.py -./run $RELEASE25/Lib/encodings/iso8859_9.py -./run $RELEASE25/Lib/encodings/johab.py -./run $RELEASE25/Lib/encodings/koi8_r.py -./run $RELEASE25/Lib/encodings/koi8_u.py -./run $RELEASE25/Lib/encodings/latin_1.py -./run $RELEASE25/Lib/encodings/mac_arabic.py -./run $RELEASE25/Lib/encodings/mac_centeuro.py -./run $RELEASE25/Lib/encodings/mac_croatian.py -./run $RELEASE25/Lib/encodings/mac_cyrillic.py -./run $RELEASE25/Lib/encodings/mac_farsi.py -./run $RELEASE25/Lib/encodings/mac_greek.py -./run $RELEASE25/Lib/encodings/mac_iceland.py -./run $RELEASE25/Lib/encodings/mac_latin2.py -./run $RELEASE25/Lib/encodings/mac_roman.py -./run $RELEASE25/Lib/encodings/mac_romanian.py -./run $RELEASE25/Lib/encodings/mac_turkish.py -./run $RELEASE25/Lib/encodings/mbcs.py -./run $RELEASE25/Lib/encodings/palmos.py -./run $RELEASE25/Lib/encodings/ptcp154.py -./run $RELEASE25/Lib/encodings/punycode.py -./run $RELEASE25/Lib/encodings/quopri_codec.py -./run $RELEASE25/Lib/encodings/raw_unicode_escape.py -./run $RELEASE25/Lib/encodings/rot_13.py -./run $RELEASE25/Lib/encodings/shift_jis.py -./run $RELEASE25/Lib/encodings/shift_jis_2004.py -./run $RELEASE25/Lib/encodings/shift_jisx0213.py -./run $RELEASE25/Lib/encodings/string_escape.py -./run $RELEASE25/Lib/encodings/tis_620.py -./run $RELEASE25/Lib/encodings/undefined.py -./run $RELEASE25/Lib/encodings/unicode_escape.py -./run $RELEASE25/Lib/encodings/unicode_internal.py -./run $RELEASE25/Lib/encodings/utf_16.py -./run $RELEASE25/Lib/encodings/utf_16_be.py -./run $RELEASE25/Lib/encodings/utf_16_le.py -./run $RELEASE25/Lib/encodings/utf_7.py -./run $RELEASE25/Lib/encodings/utf_8.py -./run $RELEASE25/Lib/encodings/utf_8_sig.py -./run $RELEASE25/Lib/encodings/uu_codec.py -./run $RELEASE25/Lib/encodings/zlib_codec.py -echo Lib/f -./run $RELEASE25/Lib/filecmp.py -./run $RELEASE25/Lib/fileinput.py -./run $RELEASE25/Lib/fnmatch.py -./run $RELEASE25/Lib/formatter.py -./run $RELEASE25/Lib/fpformat.py -./run $RELEASE25/Lib/ftplib.py -./run $RELEASE25/Lib/functools.py -./run $RELEASE25/Lib/getopt.py -./run $RELEASE25/Lib/getpass.py -./run $RELEASE25/Lib/gettext.py -./run $RELEASE25/Lib/glob.py -./run $RELEASE25/Lib/gopherlib.py -./run $RELEASE25/Lib/gzip.py -./run $RELEASE25/Lib/hashlib.py -./run $RELEASE25/Lib/heapq.py -./run $RELEASE25/Lib/hmac.py -./run $RELEASE25/Lib/hotshot/__init__.py -./run $RELEASE25/Lib/hotshot/log.py -./run $RELEASE25/Lib/hotshot/stats.py -./run $RELEASE25/Lib/hotshot/stones.py -./run $RELEASE25/Lib/htmlentitydefs.py -./run $RELEASE25/Lib/htmllib.py -./run $RELEASE25/Lib/HTMLParser.py -./run $RELEASE25/Lib/httplib.py -./run $RELEASE25/Lib/idlelib/__init__.py -./run $RELEASE25/Lib/idlelib/aboutDialog.py -./run $RELEASE25/Lib/idlelib/AutoComplete.py -./run $RELEASE25/Lib/idlelib/AutoCompleteWindow.py -./run $RELEASE25/Lib/idlelib/AutoExpand.py -./run $RELEASE25/Lib/idlelib/Bindings.py -./run $RELEASE25/Lib/idlelib/CallTips.py -./run $RELEASE25/Lib/idlelib/CallTipWindow.py -./run $RELEASE25/Lib/idlelib/ClassBrowser.py -./run $RELEASE25/Lib/idlelib/CodeContext.py -./run $RELEASE25/Lib/idlelib/ColorDelegator.py -./run $RELEASE25/Lib/idlelib/configDialog.py -./run $RELEASE25/Lib/idlelib/configHandler.py -./run $RELEASE25/Lib/idlelib/configHelpSourceEdit.py -./run $RELEASE25/Lib/idlelib/configSectionNameDialog.py -./run $RELEASE25/Lib/idlelib/Debugger.py -./run $RELEASE25/Lib/idlelib/Delegator.py -./run $RELEASE25/Lib/idlelib/dynOptionMenuWidget.py -./run $RELEASE25/Lib/idlelib/EditorWindow.py -./run $RELEASE25/Lib/idlelib/FileList.py -./run $RELEASE25/Lib/idlelib/FormatParagraph.py -./run $RELEASE25/Lib/idlelib/GrepDialog.py -./run $RELEASE25/Lib/idlelib/HyperParser.py -./run $RELEASE25/Lib/idlelib/idle.py -./run $RELEASE25/Lib/idlelib/IdleHistory.py -./run $RELEASE25/Lib/idlelib/idlever.py -./run $RELEASE25/Lib/idlelib/IOBinding.py -./run $RELEASE25/Lib/idlelib/keybindingDialog.py -./run $RELEASE25/Lib/idlelib/macosxSupport.py -./run $RELEASE25/Lib/idlelib/MultiCall.py -./run $RELEASE25/Lib/idlelib/MultiStatusBar.py -./run $RELEASE25/Lib/idlelib/ObjectBrowser.py -./run $RELEASE25/Lib/idlelib/OutputWindow.py -./run $RELEASE25/Lib/idlelib/ParenMatch.py -./run $RELEASE25/Lib/idlelib/PathBrowser.py -./run $RELEASE25/Lib/idlelib/Percolator.py -./run $RELEASE25/Lib/idlelib/PyParse.py -./run $RELEASE25/Lib/idlelib/PyShell.py -./run $RELEASE25/Lib/idlelib/RemoteDebugger.py -./run $RELEASE25/Lib/idlelib/RemoteObjectBrowser.py -./run $RELEASE25/Lib/idlelib/ReplaceDialog.py -./run $RELEASE25/Lib/idlelib/rpc.py -./run $RELEASE25/Lib/idlelib/run.py -./run $RELEASE25/Lib/idlelib/ScriptBinding.py -./run $RELEASE25/Lib/idlelib/ScrolledList.py -./run $RELEASE25/Lib/idlelib/SearchDialog.py -./run $RELEASE25/Lib/idlelib/SearchDialogBase.py -./run $RELEASE25/Lib/idlelib/SearchEngine.py -./run $RELEASE25/Lib/idlelib/StackViewer.py -./run $RELEASE25/Lib/idlelib/tabpage.py -./run $RELEASE25/Lib/idlelib/testcode.py -./run $RELEASE25/Lib/idlelib/textView.py -./run $RELEASE25/Lib/idlelib/ToolTip.py -./run $RELEASE25/Lib/idlelib/TreeWidget.py -./run $RELEASE25/Lib/idlelib/UndoDelegator.py -./run $RELEASE25/Lib/idlelib/WidgetRedirector.py -./run $RELEASE25/Lib/idlelib/WindowList.py -./run $RELEASE25/Lib/idlelib/ZoomHeight.py -./run $RELEASE25/Lib/ihooks.py -./run $RELEASE25/Lib/imaplib.py -./run $RELEASE25/Lib/imghdr.py -./run $RELEASE25/Lib/imputil.py -./run $RELEASE25/Lib/inspect.py -echo Lib/k -./run $RELEASE25/Lib/keyword.py -./run $RELEASE25/Lib/lib-tk/Canvas.py -./run $RELEASE25/Lib/lib-tk/Dialog.py -./run $RELEASE25/Lib/lib-tk/FileDialog.py -./run $RELEASE25/Lib/lib-tk/FixTk.py -./run $RELEASE25/Lib/lib-tk/ScrolledText.py -./run $RELEASE25/Lib/lib-tk/SimpleDialog.py -./run $RELEASE25/Lib/lib-tk/Tix.py -./run $RELEASE25/Lib/lib-tk/tkColorChooser.py -./run $RELEASE25/Lib/lib-tk/tkCommonDialog.py -./run $RELEASE25/Lib/lib-tk/Tkconstants.py -./run $RELEASE25/Lib/lib-tk/Tkdnd.py -./run $RELEASE25/Lib/lib-tk/tkFileDialog.py -./run $RELEASE25/Lib/lib-tk/tkFont.py -./run $RELEASE25/Lib/lib-tk/Tkinter.py -./run $RELEASE25/Lib/lib-tk/tkMessageBox.py -./run $RELEASE25/Lib/lib-tk/tkSimpleDialog.py -./run $RELEASE25/Lib/lib-tk/turtle.py -./run $RELEASE25/Lib/linecache.py -./run $RELEASE25/Lib/locale.py -./run $RELEASE25/Lib/logging/__init__.py -./run $RELEASE25/Lib/logging/config.py -./run $RELEASE25/Lib/logging/handlers.py -./run $RELEASE25/Lib/macpath.py -./run $RELEASE25/Lib/macurl2path.py -./run $RELEASE25/Lib/mailbox.py -./run $RELEASE25/Lib/mailcap.py -./run $RELEASE25/Lib/markupbase.py -./run $RELEASE25/Lib/md5.py -./run $RELEASE25/Lib/mhlib.py -./run $RELEASE25/Lib/mimetools.py -./run $RELEASE25/Lib/mimetypes.py -./run $RELEASE25/Lib/MimeWriter.py -./run $RELEASE25/Lib/mimify.py -./run $RELEASE25/Lib/modulefinder.py -./run $RELEASE25/Lib/msilib/__init__.py -./run $RELEASE25/Lib/msilib/schema.py -./run $RELEASE25/Lib/msilib/sequence.py -./run $RELEASE25/Lib/msilib/text.py -./run $RELEASE25/Lib/multifile.py -./run $RELEASE25/Lib/mutex.py -echo Lib/n -./run $RELEASE25/Lib/netrc.py -./run $RELEASE25/Lib/new.py -./run $RELEASE25/Lib/nntplib.py -./run $RELEASE25/Lib/ntpath.py -./run $RELEASE25/Lib/nturl2path.py -./run $RELEASE25/Lib/opcode.py -./run $RELEASE25/Lib/optparse.py -./run $RELEASE25/Lib/os.py -./run $RELEASE25/Lib/os2emxpath.py -./run $RELEASE25/Lib/pdb.py -./run $RELEASE25/Lib/pickle.py -./run $RELEASE25/Lib/pickletools.py -./run $RELEASE25/Lib/pipes.py -./run $RELEASE25/Lib/pkgutil.py -./run $RELEASE25/Lib/plat-aix3/IN.py -./run $RELEASE25/Lib/plat-aix4/IN.py -./run $RELEASE25/Lib/plat-atheos/IN.py -./run $RELEASE25/Lib/plat-atheos/TYPES.py -./run $RELEASE25/Lib/plat-beos5/IN.py -./run $RELEASE25/Lib/plat-darwin/IN.py -./run $RELEASE25/Lib/plat-freebsd2/IN.py -./run $RELEASE25/Lib/plat-freebsd3/IN.py -./run $RELEASE25/Lib/plat-freebsd4/IN.py -./run $RELEASE25/Lib/plat-freebsd5/IN.py -./run $RELEASE25/Lib/plat-freebsd6/IN.py -./run $RELEASE25/Lib/plat-freebsd7/IN.py -./run $RELEASE25/Lib/plat-irix5/AL.py -./run $RELEASE25/Lib/plat-irix5/CD.py -./run $RELEASE25/Lib/plat-irix5/cddb.py -./run $RELEASE25/Lib/plat-irix5/cdplayer.py -./run $RELEASE25/Lib/plat-irix5/CL.py -./run $RELEASE25/Lib/plat-irix5/CL_old.py -./run $RELEASE25/Lib/plat-irix5/DEVICE.py -./run $RELEASE25/Lib/plat-irix5/ERRNO.py -./run $RELEASE25/Lib/plat-irix5/FILE.py -./run $RELEASE25/Lib/plat-irix5/FL.py -./run $RELEASE25/Lib/plat-irix5/flp.py -./run $RELEASE25/Lib/plat-irix5/GET.py -./run $RELEASE25/Lib/plat-irix5/GL.py -./run $RELEASE25/Lib/plat-irix5/GLWS.py -./run $RELEASE25/Lib/plat-irix5/IN.py -./run $RELEASE25/Lib/plat-irix5/IOCTL.py -./run $RELEASE25/Lib/plat-irix5/jpeg.py -./run $RELEASE25/Lib/plat-irix5/panel.py -./run $RELEASE25/Lib/plat-irix5/panelparser.py -./run $RELEASE25/Lib/plat-irix5/readcd.py -./run $RELEASE25/Lib/plat-irix5/SV.py -./run $RELEASE25/Lib/plat-irix5/torgb.py -./run $RELEASE25/Lib/plat-irix5/WAIT.py -./run $RELEASE25/Lib/plat-irix6/AL.py -./run $RELEASE25/Lib/plat-irix6/CD.py -./run $RELEASE25/Lib/plat-irix6/cddb.py -./run $RELEASE25/Lib/plat-irix6/cdplayer.py -./run $RELEASE25/Lib/plat-irix6/CL.py -./run $RELEASE25/Lib/plat-irix6/DEVICE.py -./run $RELEASE25/Lib/plat-irix6/ERRNO.py -./run $RELEASE25/Lib/plat-irix6/FILE.py -./run $RELEASE25/Lib/plat-irix6/FL.py -./run $RELEASE25/Lib/plat-irix6/flp.py -./run $RELEASE25/Lib/plat-irix6/GET.py -./run $RELEASE25/Lib/plat-irix6/GL.py -./run $RELEASE25/Lib/plat-irix6/GLWS.py -./run $RELEASE25/Lib/plat-irix6/IN.py -./run $RELEASE25/Lib/plat-irix6/IOCTL.py -./run $RELEASE25/Lib/plat-irix6/jpeg.py -./run $RELEASE25/Lib/plat-irix6/panel.py -./run $RELEASE25/Lib/plat-irix6/panelparser.py -./run $RELEASE25/Lib/plat-irix6/readcd.py -./run $RELEASE25/Lib/plat-irix6/SV.py -./run $RELEASE25/Lib/plat-irix6/torgb.py -./run $RELEASE25/Lib/plat-irix6/WAIT.py -./run $RELEASE25/Lib/plat-linux2/CDROM.py -./run $RELEASE25/Lib/plat-linux2/DLFCN.py -./run $RELEASE25/Lib/plat-linux2/IN.py -./run $RELEASE25/Lib/plat-linux2/TYPES.py -echo Lib/plat-mac -./run $RELEASE25/Lib/plat-mac/aepack.py -#aetools uses 'as' not as a keyword -#./run $RELEASE25/Lib/plat-mac/aetools.py -./run $RELEASE25/Lib/plat-mac/aetypes.py -./run $RELEASE25/Lib/plat-mac/applesingle.py -./run $RELEASE25/Lib/plat-mac/appletrawmain.py -./run $RELEASE25/Lib/plat-mac/appletrunner.py -./run $RELEASE25/Lib/plat-mac/argvemulator.py -./run $RELEASE25/Lib/plat-mac/Audio_mac.py -./run $RELEASE25/Lib/plat-mac/bgenlocations.py -./run $RELEASE25/Lib/plat-mac/buildtools.py -./run $RELEASE25/Lib/plat-mac/bundlebuilder.py -./run $RELEASE25/Lib/plat-mac/Carbon/__init__.py -./run $RELEASE25/Lib/plat-mac/Carbon/AE.py -./run $RELEASE25/Lib/plat-mac/Carbon/AH.py -./run $RELEASE25/Lib/plat-mac/Carbon/Alias.py -./run $RELEASE25/Lib/plat-mac/Carbon/Aliases.py -./run $RELEASE25/Lib/plat-mac/Carbon/App.py -./run $RELEASE25/Lib/plat-mac/Carbon/Appearance.py -./run $RELEASE25/Lib/plat-mac/Carbon/AppleEvents.py -./run $RELEASE25/Lib/plat-mac/Carbon/AppleHelp.py -./run $RELEASE25/Lib/plat-mac/Carbon/CarbonEvents.py -./run $RELEASE25/Lib/plat-mac/Carbon/CarbonEvt.py -./run $RELEASE25/Lib/plat-mac/Carbon/CF.py -./run $RELEASE25/Lib/plat-mac/Carbon/CG.py -./run $RELEASE25/Lib/plat-mac/Carbon/Cm.py -./run $RELEASE25/Lib/plat-mac/Carbon/Components.py -./run $RELEASE25/Lib/plat-mac/Carbon/ControlAccessor.py -./run $RELEASE25/Lib/plat-mac/Carbon/Controls.py -./run $RELEASE25/Lib/plat-mac/Carbon/CoreFoundation.py -./run $RELEASE25/Lib/plat-mac/Carbon/CoreGraphics.py -./run $RELEASE25/Lib/plat-mac/Carbon/Ctl.py -./run $RELEASE25/Lib/plat-mac/Carbon/Dialogs.py -./run $RELEASE25/Lib/plat-mac/Carbon/Dlg.py -./run $RELEASE25/Lib/plat-mac/Carbon/Drag.py -./run $RELEASE25/Lib/plat-mac/Carbon/Dragconst.py -./run $RELEASE25/Lib/plat-mac/Carbon/Events.py -./run $RELEASE25/Lib/plat-mac/Carbon/Evt.py -./run $RELEASE25/Lib/plat-mac/Carbon/File.py -./run $RELEASE25/Lib/plat-mac/Carbon/Files.py -./run $RELEASE25/Lib/plat-mac/Carbon/Fm.py -./run $RELEASE25/Lib/plat-mac/Carbon/Folder.py -./run $RELEASE25/Lib/plat-mac/Carbon/Folders.py -./run $RELEASE25/Lib/plat-mac/Carbon/Fonts.py -./run $RELEASE25/Lib/plat-mac/Carbon/Help.py -./run $RELEASE25/Lib/plat-mac/Carbon/IBCarbon.py -./run $RELEASE25/Lib/plat-mac/Carbon/IBCarbonRuntime.py -./run $RELEASE25/Lib/plat-mac/Carbon/Icn.py -./run $RELEASE25/Lib/plat-mac/Carbon/Icons.py -./run $RELEASE25/Lib/plat-mac/Carbon/Launch.py -./run $RELEASE25/Lib/plat-mac/Carbon/LaunchServices.py -./run $RELEASE25/Lib/plat-mac/Carbon/List.py -./run $RELEASE25/Lib/plat-mac/Carbon/Lists.py -./run $RELEASE25/Lib/plat-mac/Carbon/MacHelp.py -./run $RELEASE25/Lib/plat-mac/Carbon/MacTextEditor.py -./run $RELEASE25/Lib/plat-mac/Carbon/MediaDescr.py -./run $RELEASE25/Lib/plat-mac/Carbon/Menu.py -./run $RELEASE25/Lib/plat-mac/Carbon/Menus.py -./run $RELEASE25/Lib/plat-mac/Carbon/Mlte.py -./run $RELEASE25/Lib/plat-mac/Carbon/OSA.py -./run $RELEASE25/Lib/plat-mac/Carbon/OSAconst.py -./run $RELEASE25/Lib/plat-mac/Carbon/Qd.py -./run $RELEASE25/Lib/plat-mac/Carbon/Qdoffs.py -./run $RELEASE25/Lib/plat-mac/Carbon/QDOffscreen.py -./run $RELEASE25/Lib/plat-mac/Carbon/Qt.py -./run $RELEASE25/Lib/plat-mac/Carbon/QuickDraw.py -./run $RELEASE25/Lib/plat-mac/Carbon/QuickTime.py -./run $RELEASE25/Lib/plat-mac/Carbon/Res.py -./run $RELEASE25/Lib/plat-mac/Carbon/Resources.py -./run $RELEASE25/Lib/plat-mac/Carbon/Scrap.py -./run $RELEASE25/Lib/plat-mac/Carbon/Snd.py -./run $RELEASE25/Lib/plat-mac/Carbon/Sndihooks.py -./run $RELEASE25/Lib/plat-mac/Carbon/Sound.py -./run $RELEASE25/Lib/plat-mac/Carbon/TE.py -./run $RELEASE25/Lib/plat-mac/Carbon/TextEdit.py -./run $RELEASE25/Lib/plat-mac/Carbon/Win.py -./run $RELEASE25/Lib/plat-mac/Carbon/Windows.py -./run $RELEASE25/Lib/plat-mac/cfmfile.py -./run $RELEASE25/Lib/plat-mac/EasyDialogs.py -./run $RELEASE25/Lib/plat-mac/findertools.py -./run $RELEASE25/Lib/plat-mac/FrameWork.py -./run $RELEASE25/Lib/plat-mac/gensuitemodule.py -./run $RELEASE25/Lib/plat-mac/ic.py -./run $RELEASE25/Lib/plat-mac/icopen.py -./run $RELEASE25/Lib/plat-mac/lib-scriptpackages/_builtinSuites/__init__.py -./run $RELEASE25/Lib/plat-mac/lib-scriptpackages/_builtinSuites/builtin_Suite.py -./run $RELEASE25/Lib/plat-mac/lib-scriptpackages/CodeWarrior/__init__.py -./run $RELEASE25/Lib/plat-mac/lib-scriptpackages/CodeWarrior/CodeWarrior_suite.py -./run $RELEASE25/Lib/plat-mac/lib-scriptpackages/CodeWarrior/Metrowerks_Shell_Suite.py -./run $RELEASE25/Lib/plat-mac/lib-scriptpackages/CodeWarrior/Required.py -./run $RELEASE25/Lib/plat-mac/lib-scriptpackages/CodeWarrior/Standard_Suite.py -./run $RELEASE25/Lib/plat-mac/lib-scriptpackages/Explorer/__init__.py -./run $RELEASE25/Lib/plat-mac/lib-scriptpackages/Explorer/Microsoft_Internet_Explorer.py -./run $RELEASE25/Lib/plat-mac/lib-scriptpackages/Explorer/Netscape_Suite.py -./run $RELEASE25/Lib/plat-mac/lib-scriptpackages/Explorer/Required_Suite.py -./run $RELEASE25/Lib/plat-mac/lib-scriptpackages/Explorer/Standard_Suite.py -./run $RELEASE25/Lib/plat-mac/lib-scriptpackages/Explorer/URL_Suite.py -./run $RELEASE25/Lib/plat-mac/lib-scriptpackages/Explorer/Web_Browser_Suite.py -./run $RELEASE25/Lib/plat-mac/lib-scriptpackages/Finder/__init__.py -./run $RELEASE25/Lib/plat-mac/lib-scriptpackages/Finder/Containers_and_folders.py -./run $RELEASE25/Lib/plat-mac/lib-scriptpackages/Finder/Enumerations.py -./run $RELEASE25/Lib/plat-mac/lib-scriptpackages/Finder/Files.py -./run $RELEASE25/Lib/plat-mac/lib-scriptpackages/Finder/Finder_Basics.py -./run $RELEASE25/Lib/plat-mac/lib-scriptpackages/Finder/Finder_items.py -./run $RELEASE25/Lib/plat-mac/lib-scriptpackages/Finder/Legacy_suite.py -./run $RELEASE25/Lib/plat-mac/lib-scriptpackages/Finder/Standard_Suite.py -./run $RELEASE25/Lib/plat-mac/lib-scriptpackages/Finder/Type_Definitions.py -./run $RELEASE25/Lib/plat-mac/lib-scriptpackages/Finder/Window_classes.py -./run $RELEASE25/Lib/plat-mac/lib-scriptpackages/Netscape/__init__.py -./run $RELEASE25/Lib/plat-mac/lib-scriptpackages/Netscape/Mozilla_suite.py -./run $RELEASE25/Lib/plat-mac/lib-scriptpackages/Netscape/PowerPlant.py -./run $RELEASE25/Lib/plat-mac/lib-scriptpackages/Netscape/Required_suite.py -./run $RELEASE25/Lib/plat-mac/lib-scriptpackages/Netscape/Standard_Suite.py -./run $RELEASE25/Lib/plat-mac/lib-scriptpackages/Netscape/Standard_URL_suite.py -./run $RELEASE25/Lib/plat-mac/lib-scriptpackages/Netscape/Text.py -./run $RELEASE25/Lib/plat-mac/lib-scriptpackages/Netscape/WorldWideWeb_suite.py -./run $RELEASE25/Lib/plat-mac/lib-scriptpackages/StdSuites/__init__.py -#AppleScript_Suite.py uses 'as' not as a keyword -#./run $RELEASE25/Lib/plat-mac/lib-scriptpackages/StdSuites/AppleScript_Suite.py -./run $RELEASE25/Lib/plat-mac/lib-scriptpackages/StdSuites/Macintosh_Connectivity_Clas.py -./run $RELEASE25/Lib/plat-mac/lib-scriptpackages/StdSuites/QuickDraw_Graphics_Suite.py -./run $RELEASE25/Lib/plat-mac/lib-scriptpackages/StdSuites/QuickDraw_Graphics_Suppleme.py -./run $RELEASE25/Lib/plat-mac/lib-scriptpackages/StdSuites/Required_Suite.py -./run $RELEASE25/Lib/plat-mac/lib-scriptpackages/StdSuites/Standard_Suite.py -./run $RELEASE25/Lib/plat-mac/lib-scriptpackages/StdSuites/Table_Suite.py -./run $RELEASE25/Lib/plat-mac/lib-scriptpackages/StdSuites/Text_Suite.py -./run $RELEASE25/Lib/plat-mac/lib-scriptpackages/StdSuites/Type_Names_Suite.py -./run $RELEASE25/Lib/plat-mac/lib-scriptpackages/SystemEvents/__init__.py -./run $RELEASE25/Lib/plat-mac/lib-scriptpackages/SystemEvents/Disk_Folder_File_Suite.py -./run $RELEASE25/Lib/plat-mac/lib-scriptpackages/SystemEvents/Folder_Actions_Suite.py -./run $RELEASE25/Lib/plat-mac/lib-scriptpackages/SystemEvents/Hidden_Suite.py -./run $RELEASE25/Lib/plat-mac/lib-scriptpackages/SystemEvents/Login_Items_Suite.py -./run $RELEASE25/Lib/plat-mac/lib-scriptpackages/SystemEvents/Power_Suite.py -./run $RELEASE25/Lib/plat-mac/lib-scriptpackages/SystemEvents/Processes_Suite.py -./run $RELEASE25/Lib/plat-mac/lib-scriptpackages/SystemEvents/Standard_Suite.py -./run $RELEASE25/Lib/plat-mac/lib-scriptpackages/SystemEvents/System_Events_Suite.py -./run $RELEASE25/Lib/plat-mac/lib-scriptpackages/SystemEvents/Text_Suite.py -./run $RELEASE25/Lib/plat-mac/lib-scriptpackages/Terminal/__init__.py -./run $RELEASE25/Lib/plat-mac/lib-scriptpackages/Terminal/Standard_Suite.py -./run $RELEASE25/Lib/plat-mac/lib-scriptpackages/Terminal/Terminal_Suite.py -./run $RELEASE25/Lib/plat-mac/lib-scriptpackages/Terminal/Text_Suite.py -./run $RELEASE25/Lib/plat-mac/macerrors.py -./run $RELEASE25/Lib/plat-mac/macfs.py -./run $RELEASE25/Lib/plat-mac/macostools.py -./run $RELEASE25/Lib/plat-mac/macresource.py -./run $RELEASE25/Lib/plat-mac/MiniAEFrame.py -./run $RELEASE25/Lib/plat-mac/pimp.py -./run $RELEASE25/Lib/plat-mac/PixMapWrapper.py -./run $RELEASE25/Lib/plat-mac/plistlib.py -./run $RELEASE25/Lib/plat-mac/terminalcommand.py -./run $RELEASE25/Lib/plat-mac/videoreader.py -./run $RELEASE25/Lib/plat-netbsd1/IN.py -./run $RELEASE25/Lib/plat-os2emx/_emx_link.py -./run $RELEASE25/Lib/plat-os2emx/grp.py -./run $RELEASE25/Lib/plat-os2emx/IN.py -./run $RELEASE25/Lib/plat-os2emx/pwd.py -./run $RELEASE25/Lib/plat-os2emx/SOCKET.py -./run $RELEASE25/Lib/plat-riscos/riscosenviron.py -./run $RELEASE25/Lib/plat-riscos/riscospath.py -./run $RELEASE25/Lib/plat-riscos/rourl2path.py -./run $RELEASE25/Lib/plat-sunos5/CDIO.py -./run $RELEASE25/Lib/plat-sunos5/DLFCN.py -./run $RELEASE25/Lib/plat-sunos5/IN.py -#STROPTS.py uses 'as' not as a keyword -#./run $RELEASE25/Lib/plat-sunos5/STROPTS.py -./run $RELEASE25/Lib/plat-sunos5/SUNAUDIODEV.py -./run $RELEASE25/Lib/plat-sunos5/TYPES.py -./run $RELEASE25/Lib/plat-unixware7/IN.py -./run $RELEASE25/Lib/plat-unixware7/STROPTS.py -./run $RELEASE25/Lib/platform.py -./run $RELEASE25/Lib/popen2.py -./run $RELEASE25/Lib/poplib.py -./run $RELEASE25/Lib/posixfile.py -./run $RELEASE25/Lib/posixpath.py -./run $RELEASE25/Lib/pprint.py -./run $RELEASE25/Lib/profile.py -./run $RELEASE25/Lib/pstats.py -./run $RELEASE25/Lib/pty.py -./run $RELEASE25/Lib/py_compile.py -./run $RELEASE25/Lib/pyclbr.py -./run $RELEASE25/Lib/pydoc.py -echo Lib/q -./run $RELEASE25/Lib/Queue.py -./run $RELEASE25/Lib/quopri.py -./run $RELEASE25/Lib/random.py -./run $RELEASE25/Lib/re.py -./run $RELEASE25/Lib/repr.py -./run $RELEASE25/Lib/rexec.py -./run $RELEASE25/Lib/rfc822.py -./run $RELEASE25/Lib/rlcompleter.py -./run $RELEASE25/Lib/robotparser.py -./run $RELEASE25/Lib/runpy.py -./run $RELEASE25/Lib/sched.py -./run $RELEASE25/Lib/sets.py -./run $RELEASE25/Lib/sgmllib.py -./run $RELEASE25/Lib/sha.py -./run $RELEASE25/Lib/shelve.py -./run $RELEASE25/Lib/shlex.py -./run $RELEASE25/Lib/shutil.py -./run $RELEASE25/Lib/SimpleHTTPServer.py -./run $RELEASE25/Lib/SimpleXMLRPCServer.py -./run $RELEASE25/Lib/site.py -./run $RELEASE25/Lib/smtpd.py -./run $RELEASE25/Lib/smtplib.py -./run $RELEASE25/Lib/sndhdr.py -./run $RELEASE25/Lib/socket.py -./run $RELEASE25/Lib/SocketServer.py -./run $RELEASE25/Lib/sqlite3/__init__.py -./run $RELEASE25/Lib/sqlite3/dbapi2.py -./run $RELEASE25/Lib/sqlite3/test/__init__.py -./run $RELEASE25/Lib/sqlite3/test/dbapi.py -./run $RELEASE25/Lib/sqlite3/test/factory.py -./run $RELEASE25/Lib/sqlite3/test/hooks.py -./run $RELEASE25/Lib/sqlite3/test/regression.py -./run $RELEASE25/Lib/sqlite3/test/transactions.py -./run $RELEASE25/Lib/sqlite3/test/types.py -./run $RELEASE25/Lib/sqlite3/test/userfunctions.py -./run $RELEASE25/Lib/sre.py -./run $RELEASE25/Lib/sre_compile.py -./run $RELEASE25/Lib/sre_constants.py -./run $RELEASE25/Lib/sre_parse.py -./run $RELEASE25/Lib/stat.py -./run $RELEASE25/Lib/statvfs.py -./run $RELEASE25/Lib/string.py -./run $RELEASE25/Lib/StringIO.py -./run $RELEASE25/Lib/stringold.py -./run $RELEASE25/Lib/stringprep.py -./run $RELEASE25/Lib/struct.py -./run $RELEASE25/Lib/subprocess.py -./run $RELEASE25/Lib/sunau.py -./run $RELEASE25/Lib/sunaudio.py -./run $RELEASE25/Lib/symbol.py -./run $RELEASE25/Lib/symtable.py -echo Lib/t -./run $RELEASE25/Lib/tabnanny.py -./run $RELEASE25/Lib/tarfile.py -./run $RELEASE25/Lib/telnetlib.py -./run $RELEASE25/Lib/tempfile.py -./run $RELEASE25/Lib/test/__init__.py -./run $RELEASE25/Lib/test/autotest.py -./run $RELEASE25/Lib/test/bad_coding.py -#./run $RELEASE25/Lib/test/bad_coding2.py -./run $RELEASE25/Lib/test/badsyntax_future3.py -./run $RELEASE25/Lib/test/badsyntax_future4.py -./run $RELEASE25/Lib/test/badsyntax_future5.py -./run $RELEASE25/Lib/test/badsyntax_future6.py -./run $RELEASE25/Lib/test/badsyntax_future7.py -./run $RELEASE25/Lib/test/badsyntax_future8.py -./run $RELEASE25/Lib/test/badsyntax_future9.py -./run $RELEASE25/Lib/test/badsyntax_nocaret.py -./run $RELEASE25/Lib/test/cjkencodings_test.py -./run $RELEASE25/Lib/test/crashers/bogus_code_obj.py -./run $RELEASE25/Lib/test/crashers/borrowed_ref_1.py -./run $RELEASE25/Lib/test/crashers/borrowed_ref_2.py -./run $RELEASE25/Lib/test/crashers/gc_inspection.py -./run $RELEASE25/Lib/test/crashers/infinite_rec_1.py -./run $RELEASE25/Lib/test/crashers/infinite_rec_2.py -./run $RELEASE25/Lib/test/crashers/infinite_rec_4.py -./run $RELEASE25/Lib/test/crashers/infinite_rec_5.py -./run $RELEASE25/Lib/test/crashers/loosing_dict_ref.py -./run $RELEASE25/Lib/test/crashers/nasty_eq_vs_dict.py -./run $RELEASE25/Lib/test/crashers/recursion_limit_too_high.py -./run $RELEASE25/Lib/test/crashers/recursive_call.py -./run $RELEASE25/Lib/test/doctest_aliases.py -./run $RELEASE25/Lib/test/double_const.py -echo Lib/test/f -./run $RELEASE25/Lib/test/fork_wait.py -./run $RELEASE25/Lib/test/infinite_reload.py -./run $RELEASE25/Lib/test/inspect_fodder.py -./run $RELEASE25/Lib/test/inspect_fodder2.py -./run $RELEASE25/Lib/test/leakers/__init__.py -./run $RELEASE25/Lib/test/leakers/test_ctypes.py -./run $RELEASE25/Lib/test/leakers/test_gestalt.py -./run $RELEASE25/Lib/test/leakers/test_selftype.py -./run $RELEASE25/Lib/test/list_tests.py -./run $RELEASE25/Lib/test/mapping_tests.py -./run $RELEASE25/Lib/test/outstanding_bugs.py -./run $RELEASE25/Lib/test/pickletester.py -./run $RELEASE25/Lib/test/pyclbr_input.py -./run $RELEASE25/Lib/test/pydocfodder.py -./run $RELEASE25/Lib/test/pystone.py -./run $RELEASE25/Lib/test/re_tests.py -./run $RELEASE25/Lib/test/regex_tests.py -./run $RELEASE25/Lib/test/regrtest.py -./run $RELEASE25/Lib/test/reperf.py -./run $RELEASE25/Lib/test/sample_doctest.py -./run $RELEASE25/Lib/test/seq_tests.py -./run $RELEASE25/Lib/test/sortperf.py -./run $RELEASE25/Lib/test/string_tests.py -echo Lib/test/t -./run $RELEASE25/Lib/test/test___all__.py -./run $RELEASE25/Lib/test/test___future__.py -./run $RELEASE25/Lib/test/test__locale.py -./run $RELEASE25/Lib/test/test_aepack.py -./run $RELEASE25/Lib/test/test_al.py -./run $RELEASE25/Lib/test/test_anydbm.py -./run $RELEASE25/Lib/test/test_applesingle.py -./run $RELEASE25/Lib/test/test_array.py -./run $RELEASE25/Lib/test/test_ast.py -./run $RELEASE25/Lib/test/test_asynchat.py -./run $RELEASE25/Lib/test/test_atexit.py -./run $RELEASE25/Lib/test/test_audioop.py -./run $RELEASE25/Lib/test/test_augassign.py -./run $RELEASE25/Lib/test/test_base64.py -./run $RELEASE25/Lib/test/test_bastion.py -./run $RELEASE25/Lib/test/test_bigaddrspace.py -./run $RELEASE25/Lib/test/test_bigmem.py -./run $RELEASE25/Lib/test/test_binascii.py -./run $RELEASE25/Lib/test/test_binhex.py -./run $RELEASE25/Lib/test/test_binop.py -./run $RELEASE25/Lib/test/test_bisect.py -./run $RELEASE25/Lib/test/test_bool.py -./run $RELEASE25/Lib/test/test_bsddb.py -./run $RELEASE25/Lib/test/test_bsddb185.py -./run $RELEASE25/Lib/test/test_bsddb3.py -./run $RELEASE25/Lib/test/test_bufio.py -./run $RELEASE25/Lib/test/test_builtin.py -./run $RELEASE25/Lib/test/test_bz2.py -./run $RELEASE25/Lib/test/test_calendar.py -./run $RELEASE25/Lib/test/test_call.py -./run $RELEASE25/Lib/test/test_capi.py -./run $RELEASE25/Lib/test/test_cd.py -./run $RELEASE25/Lib/test/test_cfgparser.py -./run $RELEASE25/Lib/test/test_cgi.py -./run $RELEASE25/Lib/test/test_charmapcodec.py -./run $RELEASE25/Lib/test/test_cl.py -./run $RELEASE25/Lib/test/test_class.py -./run $RELEASE25/Lib/test/test_cmath.py -./run $RELEASE25/Lib/test/test_cmd_line.py -./run $RELEASE25/Lib/test/test_code.py -./run $RELEASE25/Lib/test/test_codeccallbacks.py -./run $RELEASE25/Lib/test/test_codecencodings_cn.py -./run $RELEASE25/Lib/test/test_codecencodings_hk.py -./run $RELEASE25/Lib/test/test_codecencodings_jp.py -./run $RELEASE25/Lib/test/test_codecencodings_kr.py -./run $RELEASE25/Lib/test/test_codecencodings_tw.py -./run $RELEASE25/Lib/test/test_codecmaps_cn.py -./run $RELEASE25/Lib/test/test_codecmaps_hk.py -./run $RELEASE25/Lib/test/test_codecmaps_jp.py -./run $RELEASE25/Lib/test/test_codecmaps_kr.py -./run $RELEASE25/Lib/test/test_codecmaps_tw.py -./run $RELEASE25/Lib/test/test_codecs.py -./run $RELEASE25/Lib/test/test_codeop.py -./run $RELEASE25/Lib/test/test_coding.py -./run $RELEASE25/Lib/test/test_coercion.py -./run $RELEASE25/Lib/test/test_colorsys.py -./run $RELEASE25/Lib/test/test_commands.py -./run $RELEASE25/Lib/test/test_compare.py -./run $RELEASE25/Lib/test/test_compile.py -./run $RELEASE25/Lib/test/test_compiler.py -./run $RELEASE25/Lib/test/test_complex.py -./run $RELEASE25/Lib/test/test_complex_args.py -./run $RELEASE25/Lib/test/test_contains.py -./run $RELEASE25/Lib/test/test_contextlib.py -./run $RELEASE25/Lib/test/test_cookie.py -./run $RELEASE25/Lib/test/test_cookielib.py -./run $RELEASE25/Lib/test/test_copy.py -./run $RELEASE25/Lib/test/test_copy_reg.py -./run $RELEASE25/Lib/test/test_cpickle.py -./run $RELEASE25/Lib/test/test_cProfile.py -./run $RELEASE25/Lib/test/test_crypt.py -./run $RELEASE25/Lib/test/test_csv.py -./run $RELEASE25/Lib/test/test_ctypes.py -./run $RELEASE25/Lib/test/test_curses.py -./run $RELEASE25/Lib/test/test_datetime.py -./run $RELEASE25/Lib/test/test_dbm.py -./run $RELEASE25/Lib/test/test_decimal.py -./run $RELEASE25/Lib/test/test_decorators.py -./run $RELEASE25/Lib/test/test_defaultdict.py -./run $RELEASE25/Lib/test/test_deque.py -./run $RELEASE25/Lib/test/test_descr.py -./run $RELEASE25/Lib/test/test_descrtut.py -./run $RELEASE25/Lib/test/test_dict.py -./run $RELEASE25/Lib/test/test_difflib.py -./run $RELEASE25/Lib/test/test_dircache.py -./run $RELEASE25/Lib/test/test_dis.py -./run $RELEASE25/Lib/test/test_distutils.py -./run $RELEASE25/Lib/test/test_dl.py -./run $RELEASE25/Lib/test/test_doctest.py -./run $RELEASE25/Lib/test/test_doctest2.py -./run $RELEASE25/Lib/test/test_dumbdbm.py -./run $RELEASE25/Lib/test/test_dummy_thread.py -./run $RELEASE25/Lib/test/test_dummy_threading.py -./run $RELEASE25/Lib/test/test_email.py -./run $RELEASE25/Lib/test/test_email_codecs.py -./run $RELEASE25/Lib/test/test_email_renamed.py -./run $RELEASE25/Lib/test/test_enumerate.py -./run $RELEASE25/Lib/test/test_eof.py -./run $RELEASE25/Lib/test/test_errno.py -./run $RELEASE25/Lib/test/test_exception_variations.py -./run $RELEASE25/Lib/test/test_exceptions.py -./run $RELEASE25/Lib/test/test_extcall.py -./run $RELEASE25/Lib/test/test_fcntl.py -./run $RELEASE25/Lib/test/test_file.py -./run $RELEASE25/Lib/test/test_filecmp.py -./run $RELEASE25/Lib/test/test_fileinput.py -./run $RELEASE25/Lib/test/test_float.py -./run $RELEASE25/Lib/test/test_fnmatch.py -./run $RELEASE25/Lib/test/test_fork1.py -./run $RELEASE25/Lib/test/test_format.py -./run $RELEASE25/Lib/test/test_fpformat.py -./run $RELEASE25/Lib/test/test_frozen.py -./run $RELEASE25/Lib/test/test_funcattrs.py -./run $RELEASE25/Lib/test/test_functools.py -./run $RELEASE25/Lib/test/test_future.py -./run $RELEASE25/Lib/test/test_future1.py -./run $RELEASE25/Lib/test/test_future2.py -./run $RELEASE25/Lib/test/test_future3.py -./run $RELEASE25/Lib/test/test_gc.py -./run $RELEASE25/Lib/test/test_gdbm.py -./run $RELEASE25/Lib/test/test_generators.py -./run $RELEASE25/Lib/test/test_genexps.py -./run $RELEASE25/Lib/test/test_getargs.py -./run $RELEASE25/Lib/test/test_getargs2.py -./run $RELEASE25/Lib/test/test_getopt.py -./run $RELEASE25/Lib/test/test_gettext.py -./run $RELEASE25/Lib/test/test_gl.py -./run $RELEASE25/Lib/test/test_glob.py -./run $RELEASE25/Lib/test/test_global.py -./run $RELEASE25/Lib/test/test_grammar.py -./run $RELEASE25/Lib/test/test_grp.py -./run $RELEASE25/Lib/test/test_gzip.py -./run $RELEASE25/Lib/test/test_hash.py -./run $RELEASE25/Lib/test/test_hashlib.py -./run $RELEASE25/Lib/test/test_heapq.py -./run $RELEASE25/Lib/test/test_hexoct.py -./run $RELEASE25/Lib/test/test_hmac.py -./run $RELEASE25/Lib/test/test_hotshot.py -./run $RELEASE25/Lib/test/test_htmllib.py -./run $RELEASE25/Lib/test/test_htmlparser.py -./run $RELEASE25/Lib/test/test_httplib.py -./run $RELEASE25/Lib/test/test_imageop.py -./run $RELEASE25/Lib/test/test_imaplib.py -./run $RELEASE25/Lib/test/test_imgfile.py -./run $RELEASE25/Lib/test/test_imp.py -./run $RELEASE25/Lib/test/test_import.py -./run $RELEASE25/Lib/test/test_importhooks.py -./run $RELEASE25/Lib/test/test_index.py -./run $RELEASE25/Lib/test/test_inspect.py -./run $RELEASE25/Lib/test/test_ioctl.py -./run $RELEASE25/Lib/test/test_isinstance.py -./run $RELEASE25/Lib/test/test_iter.py -./run $RELEASE25/Lib/test/test_iterlen.py -./run $RELEASE25/Lib/test/test_itertools.py -./run $RELEASE25/Lib/test/test_largefile.py -./run $RELEASE25/Lib/test/test_linuxaudiodev.py -./run $RELEASE25/Lib/test/test_list.py -./run $RELEASE25/Lib/test/test_locale.py -./run $RELEASE25/Lib/test/test_logging.py -./run $RELEASE25/Lib/test/test_long.py -./run $RELEASE25/Lib/test/test_long_future.py -./run $RELEASE25/Lib/test/test_longexp.py -echo Lib/test/m -./run $RELEASE25/Lib/test/test_macfs.py -./run $RELEASE25/Lib/test/test_macostools.py -./run $RELEASE25/Lib/test/test_macpath.py -./run $RELEASE25/Lib/test/test_mailbox.py -./run $RELEASE25/Lib/test/test_marshal.py -./run $RELEASE25/Lib/test/test_math.py -./run $RELEASE25/Lib/test/test_md5.py -./run $RELEASE25/Lib/test/test_mhlib.py -./run $RELEASE25/Lib/test/test_mimetools.py -./run $RELEASE25/Lib/test/test_mimetypes.py -./run $RELEASE25/Lib/test/test_MimeWriter.py -./run $RELEASE25/Lib/test/test_minidom.py -./run $RELEASE25/Lib/test/test_mmap.py -./run $RELEASE25/Lib/test/test_module.py -./run $RELEASE25/Lib/test/test_multibytecodec.py -./run $RELEASE25/Lib/test/test_multibytecodec_support.py -./run $RELEASE25/Lib/test/test_multifile.py -./run $RELEASE25/Lib/test/test_mutants.py -./run $RELEASE25/Lib/test/test_netrc.py -./run $RELEASE25/Lib/test/test_new.py -./run $RELEASE25/Lib/test/test_nis.py -./run $RELEASE25/Lib/test/test_normalization.py -./run $RELEASE25/Lib/test/test_ntpath.py -./run $RELEASE25/Lib/test/test_old_mailbox.py -./run $RELEASE25/Lib/test/test_opcodes.py -./run $RELEASE25/Lib/test/test_openpty.py -./run $RELEASE25/Lib/test/test_operations.py -./run $RELEASE25/Lib/test/test_operator.py -./run $RELEASE25/Lib/test/test_optparse.py -./run $RELEASE25/Lib/test/test_os.py -./run $RELEASE25/Lib/test/test_ossaudiodev.py -./run $RELEASE25/Lib/test/test_parser.py -./run $RELEASE25/Lib/test/test_peepholer.py -./run $RELEASE25/Lib/test/test_pep247.py -./run $RELEASE25/Lib/test/test_pep263.py -./run $RELEASE25/Lib/test/test_pep277.py -./run $RELEASE25/Lib/test/test_pep292.py -./run $RELEASE25/Lib/test/test_pep352.py -./run $RELEASE25/Lib/test/test_pickle.py -./run $RELEASE25/Lib/test/test_pickletools.py -./run $RELEASE25/Lib/test/test_pkg.py -./run $RELEASE25/Lib/test/test_pkgimport.py -./run $RELEASE25/Lib/test/test_platform.py -./run $RELEASE25/Lib/test/test_plistlib.py -./run $RELEASE25/Lib/test/test_poll.py -./run $RELEASE25/Lib/test/test_popen.py -./run $RELEASE25/Lib/test/test_popen2.py -./run $RELEASE25/Lib/test/test_posix.py -./run $RELEASE25/Lib/test/test_posixpath.py -./run $RELEASE25/Lib/test/test_pow.py -./run $RELEASE25/Lib/test/test_pprint.py -./run $RELEASE25/Lib/test/test_profile.py -./run $RELEASE25/Lib/test/test_profilehooks.py -./run $RELEASE25/Lib/test/test_pty.py -./run $RELEASE25/Lib/test/test_pwd.py -./run $RELEASE25/Lib/test/test_pyclbr.py -./run $RELEASE25/Lib/test/test_pyexpat.py -./run $RELEASE25/Lib/test/test_queue.py -./run $RELEASE25/Lib/test/test_quopri.py -./run $RELEASE25/Lib/test/test_random.py -./run $RELEASE25/Lib/test/test_re.py -./run $RELEASE25/Lib/test/test_repr.py -./run $RELEASE25/Lib/test/test_resource.py -./run $RELEASE25/Lib/test/test_rfc822.py -./run $RELEASE25/Lib/test/test_rgbimg.py -./run $RELEASE25/Lib/test/test_richcmp.py -./run $RELEASE25/Lib/test/test_robotparser.py -./run $RELEASE25/Lib/test/test_runpy.py -./run $RELEASE25/Lib/test/test_sax.py -./run $RELEASE25/Lib/test/test_scope.py -./run $RELEASE25/Lib/test/test_scriptpackages.py -./run $RELEASE25/Lib/test/test_select.py -./run $RELEASE25/Lib/test/test_set.py -./run $RELEASE25/Lib/test/test_sets.py -./run $RELEASE25/Lib/test/test_sgmllib.py -./run $RELEASE25/Lib/test/test_sha.py -./run $RELEASE25/Lib/test/test_shelve.py -./run $RELEASE25/Lib/test/test_shlex.py -./run $RELEASE25/Lib/test/test_shutil.py -./run $RELEASE25/Lib/test/test_signal.py -./run $RELEASE25/Lib/test/test_site.py -./run $RELEASE25/Lib/test/test_slice.py -./run $RELEASE25/Lib/test/test_socket.py -./run $RELEASE25/Lib/test/test_socket_ssl.py -./run $RELEASE25/Lib/test/test_socketserver.py -./run $RELEASE25/Lib/test/test_softspace.py -./run $RELEASE25/Lib/test/test_sort.py -./run $RELEASE25/Lib/test/test_sqlite.py -./run $RELEASE25/Lib/test/test_startfile.py -./run $RELEASE25/Lib/test/test_str.py -./run $RELEASE25/Lib/test/test_strftime.py -./run $RELEASE25/Lib/test/test_string.py -./run $RELEASE25/Lib/test/test_StringIO.py -./run $RELEASE25/Lib/test/test_stringprep.py -./run $RELEASE25/Lib/test/test_strop.py -./run $RELEASE25/Lib/test/test_strptime.py -./run $RELEASE25/Lib/test/test_struct.py -./run $RELEASE25/Lib/test/test_structmembers.py -./run $RELEASE25/Lib/test/test_structseq.py -./run $RELEASE25/Lib/test/test_subprocess.py -./run $RELEASE25/Lib/test/test_sunaudiodev.py -./run $RELEASE25/Lib/test/test_sundry.py -./run $RELEASE25/Lib/test/test_support.py -./run $RELEASE25/Lib/test/test_symtable.py -./run $RELEASE25/Lib/test/test_syntax.py -./run $RELEASE25/Lib/test/test_sys.py -./run $RELEASE25/Lib/test/test_tarfile.py -./run $RELEASE25/Lib/test/test_tcl.py -./run $RELEASE25/Lib/test/test_tempfile.py -./run $RELEASE25/Lib/test/test_textwrap.py -./run $RELEASE25/Lib/test/test_thread.py -./run $RELEASE25/Lib/test/test_threaded_import.py -./run $RELEASE25/Lib/test/test_threadedtempfile.py -./run $RELEASE25/Lib/test/test_threading.py -./run $RELEASE25/Lib/test/test_threading_local.py -./run $RELEASE25/Lib/test/test_threadsignals.py -./run $RELEASE25/Lib/test/test_time.py -./run $RELEASE25/Lib/test/test_timeout.py -./run $RELEASE25/Lib/test/test_tokenize.py -./run $RELEASE25/Lib/test/test_trace.py -./run $RELEASE25/Lib/test/test_traceback.py -./run $RELEASE25/Lib/test/test_transformer.py -./run $RELEASE25/Lib/test/test_tuple.py -./run $RELEASE25/Lib/test/test_types.py -./run $RELEASE25/Lib/test/test_ucn.py -./run $RELEASE25/Lib/test/test_unary.py -./run $RELEASE25/Lib/test/test_unicode.py -./run $RELEASE25/Lib/test/test_unicode_file.py -./run $RELEASE25/Lib/test/test_unicodedata.py -./run $RELEASE25/Lib/test/test_unittest.py -./run $RELEASE25/Lib/test/test_univnewlines.py -./run $RELEASE25/Lib/test/test_unpack.py -./run $RELEASE25/Lib/test/test_urllib.py -./run $RELEASE25/Lib/test/test_urllib2.py -./run $RELEASE25/Lib/test/test_urllib2_localnet.py -./run $RELEASE25/Lib/test/test_urllib2net.py -./run $RELEASE25/Lib/test/test_urllibnet.py -./run $RELEASE25/Lib/test/test_urlparse.py -./run $RELEASE25/Lib/test/test_userdict.py -./run $RELEASE25/Lib/test/test_userlist.py -./run $RELEASE25/Lib/test/test_userstring.py -./run $RELEASE25/Lib/test/test_uu.py -./run $RELEASE25/Lib/test/test_uuid.py -./run $RELEASE25/Lib/test/test_wait3.py -./run $RELEASE25/Lib/test/test_wait4.py -./run $RELEASE25/Lib/test/test_warnings.py -./run $RELEASE25/Lib/test/test_wave.py -./run $RELEASE25/Lib/test/test_weakref.py -./run $RELEASE25/Lib/test/test_whichdb.py -./run $RELEASE25/Lib/test/test_winreg.py -./run $RELEASE25/Lib/test/test_winsound.py -./run $RELEASE25/Lib/test/test_with.py -./run $RELEASE25/Lib/test/test_wsgiref.py -./run $RELEASE25/Lib/test/test_xdrlib.py -./run $RELEASE25/Lib/test/test_xml_etree.py -./run $RELEASE25/Lib/test/test_xml_etree_c.py -./run $RELEASE25/Lib/test/test_xmllib.py -./run $RELEASE25/Lib/test/test_xmlrpc.py -./run $RELEASE25/Lib/test/test_xpickle.py -./run $RELEASE25/Lib/test/test_xrange.py -./run $RELEASE25/Lib/test/test_zipfile.py -./run $RELEASE25/Lib/test/test_zipfile64.py -./run $RELEASE25/Lib/test/test_zipimport.py -./run $RELEASE25/Lib/test/test_zlib.py -./run $RELEASE25/Lib/test/testall.py -./run $RELEASE25/Lib/test/testcodec.py -./run $RELEASE25/Lib/test/tf_inherit_check.py -./run $RELEASE25/Lib/test/threaded_import_hangers.py -./run $RELEASE25/Lib/test/time_hashlib.py -./run $RELEASE25/Lib/test/xmltests.py -./run $RELEASE25/Lib/textwrap.py -./run $RELEASE25/Lib/this.py -./run $RELEASE25/Lib/threading.py -./run $RELEASE25/Lib/timeit.py -./run $RELEASE25/Lib/toaiff.py -./run $RELEASE25/Lib/token.py -./run $RELEASE25/Lib/tokenize.py -./run $RELEASE25/Lib/trace.py -./run $RELEASE25/Lib/traceback.py -./run $RELEASE25/Lib/tty.py -./run $RELEASE25/Lib/types.py -echo Lib/u -./run $RELEASE25/Lib/unittest.py -./run $RELEASE25/Lib/urllib.py -./run $RELEASE25/Lib/urllib2.py -./run $RELEASE25/Lib/urlparse.py -./run $RELEASE25/Lib/user.py -./run $RELEASE25/Lib/UserDict.py -./run $RELEASE25/Lib/UserList.py -./run $RELEASE25/Lib/UserString.py -./run $RELEASE25/Lib/uu.py -./run $RELEASE25/Lib/uuid.py -./run $RELEASE25/Lib/warnings.py -./run $RELEASE25/Lib/wave.py -./run $RELEASE25/Lib/weakref.py -./run $RELEASE25/Lib/webbrowser.py -./run $RELEASE25/Lib/whichdb.py -./run $RELEASE25/Lib/wsgiref/__init__.py -./run $RELEASE25/Lib/wsgiref/handlers.py -./run $RELEASE25/Lib/wsgiref/headers.py -./run $RELEASE25/Lib/wsgiref/simple_server.py -./run $RELEASE25/Lib/wsgiref/util.py -./run $RELEASE25/Lib/wsgiref/validate.py -./run $RELEASE25/Lib/xdrlib.py -./run $RELEASE25/Lib/xml/__init__.py -./run $RELEASE25/Lib/xml/dom/__init__.py -./run $RELEASE25/Lib/xml/dom/domreg.py -./run $RELEASE25/Lib/xml/dom/expatbuilder.py -./run $RELEASE25/Lib/xml/dom/minicompat.py -./run $RELEASE25/Lib/xml/dom/minidom.py -./run $RELEASE25/Lib/xml/dom/NodeFilter.py -./run $RELEASE25/Lib/xml/dom/pulldom.py -./run $RELEASE25/Lib/xml/dom/xmlbuilder.py -./run $RELEASE25/Lib/xml/etree/__init__.py -./run $RELEASE25/Lib/xml/etree/cElementTree.py -./run $RELEASE25/Lib/xml/etree/ElementInclude.py -./run $RELEASE25/Lib/xml/etree/ElementPath.py -./run $RELEASE25/Lib/xml/etree/ElementTree.py -./run $RELEASE25/Lib/xml/parsers/__init__.py -./run $RELEASE25/Lib/xml/parsers/expat.py -./run $RELEASE25/Lib/xml/sax/__init__.py -./run $RELEASE25/Lib/xml/sax/_exceptions.py -./run $RELEASE25/Lib/xml/sax/expatreader.py -./run $RELEASE25/Lib/xml/sax/handler.py -./run $RELEASE25/Lib/xml/sax/saxutils.py -./run $RELEASE25/Lib/xml/sax/xmlreader.py -./run $RELEASE25/Lib/xmllib.py -./run $RELEASE25/Lib/xmlrpclib.py -./run $RELEASE25/Lib/zipfile.py This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fwi...@us...> - 2011-03-26 16:21:44
|
Revision: 7268 http://jython.svn.sourceforge.net/jython/?rev=7268&view=rev Author: fwierzbicki Date: 2011-03-26 16:21:37 +0000 (Sat, 26 Mar 2011) Log Message: ----------- Update to latest antlr for sandbox testing + other updates. Modified Paths: -------------- trunk/sandbox/wierzbicki/antlr/build.xml trunk/sandbox/wierzbicki/antlr/grammar/Python.g trunk/sandbox/wierzbicki/antlr/run trunk/sandbox/wierzbicki/antlr/src/Main.java trunk/sandbox/wierzbicki/antlr/src/PythonTokenSource.java Removed Paths: ------------- trunk/sandbox/wierzbicki/antlr/lib/antlr-2.7.7.jar trunk/sandbox/wierzbicki/antlr/lib/antlr-3.1.jar trunk/sandbox/wierzbicki/antlr/lib/antlr-runtime-3.1.jar trunk/sandbox/wierzbicki/antlr/lib/stringtemplate-3.2.jar Modified: trunk/sandbox/wierzbicki/antlr/build.xml =================================================================== --- trunk/sandbox/wierzbicki/antlr/build.xml 2011-03-25 15:25:07 UTC (rev 7267) +++ trunk/sandbox/wierzbicki/antlr/build.xml 2011-03-26 16:21:37 UTC (rev 7268) @@ -8,22 +8,22 @@ </path> <target name="init"> - <mkdir dir="build/gensrc/org/python/antlr/ast"/> + <mkdir dir="build/gensrc"/> </target> <target name="antlr_gen" depends="init"> <java classname="org.antlr.Tool"> <arg value="-fo"/> - <arg path="build/gensrc/org/python/antlr"/> + <arg path="build/gensrc"/> <arg value="-lib"/> - <arg path="build/gensrc/org/python/antlr"/> + <arg path="build/gensrc"/> <arg file="grammar/Python.g"/> <classpath refid="main.classpath"/> </java> <!-- copy the .tokens to /grammar, for usage in ANTLRWorks --> <copy todir="grammar" preservelastmodified="true"> - <fileset dir="build/gensrc/org/python/antlr"> + <fileset dir="build/gensrc"> <include name="Python.tokens" /> </fileset> </copy> Modified: trunk/sandbox/wierzbicki/antlr/grammar/Python.g =================================================================== --- trunk/sandbox/wierzbicki/antlr/grammar/Python.g 2011-03-25 15:25:07 UTC (rev 7267) +++ trunk/sandbox/wierzbicki/antlr/grammar/Python.g 2011-03-26 16:21:37 UTC (rev 7268) @@ -69,6 +69,7 @@ tokens { INDENT; DEDENT; + TRAILBACKSLASH; //For dangling backslashes when partial parsing. } @lexer::members { Deleted: trunk/sandbox/wierzbicki/antlr/lib/antlr-2.7.7.jar =================================================================== (Binary files differ) Deleted: trunk/sandbox/wierzbicki/antlr/lib/antlr-3.1.jar =================================================================== (Binary files differ) Deleted: trunk/sandbox/wierzbicki/antlr/lib/antlr-runtime-3.1.jar =================================================================== (Binary files differ) Deleted: trunk/sandbox/wierzbicki/antlr/lib/stringtemplate-3.2.jar =================================================================== (Binary files differ) Modified: trunk/sandbox/wierzbicki/antlr/run =================================================================== --- trunk/sandbox/wierzbicki/antlr/run 2011-03-25 15:25:07 UTC (rev 7267) +++ trunk/sandbox/wierzbicki/antlr/run 2011-03-26 16:21:37 UTC (rev 7268) @@ -1 +1 @@ -java -classpath lib/antlr-3.1.jar:build Main /home/frank/svn/python/release26-maint +java -classpath lib/antlr-runtime-3.3.jar:build Main /home/frank/svn/python/release26-maint Modified: trunk/sandbox/wierzbicki/antlr/src/Main.java =================================================================== --- trunk/sandbox/wierzbicki/antlr/src/Main.java 2011-03-25 15:25:07 UTC (rev 7267) +++ trunk/sandbox/wierzbicki/antlr/src/Main.java 2011-03-26 16:21:37 UTC (rev 7268) @@ -42,7 +42,7 @@ CharStream input = new ANTLRFileStream(path); PythonLexer lexer = new MyLexer(input); CommonTokenStream tokens = new CommonTokenStream(lexer); - tokens.discardOffChannelTokens(true); + //tokens.discardOffChannelTokens(true); PythonTokenSource indentedSource = new PythonTokenSource(tokens, "<test>"); tokens = new CommonTokenStream(indentedSource); PythonParser parser = new PythonParser(tokens); Modified: trunk/sandbox/wierzbicki/antlr/src/PythonTokenSource.java =================================================================== --- trunk/sandbox/wierzbicki/antlr/src/PythonTokenSource.java 2011-03-25 15:25:07 UTC (rev 7267) +++ trunk/sandbox/wierzbicki/antlr/src/PythonTokenSource.java 2011-03-26 16:21:37 UTC (rev 7268) @@ -79,7 +79,7 @@ int sp=-1; // grow upwards /** The queue of tokens */ - Vector tokens = new Vector(); + Vector<Token> tokens = new Vector<Token>(); /** We pull real tokens from this lexer */ CommonTokenStream stream; @@ -130,7 +130,7 @@ public Token nextToken() { // if something in queue, just remove and return it if (tokens.size() > 0) { - Token t = (Token)tokens.firstElement(); + Token t = tokens.firstElement(); tokens.removeElementAt(0); //System.out.println(filename + t); return t; @@ -142,25 +142,43 @@ } private void generateNewline(Token t) { + //System.out.println("generating newline from token: " + t); CommonToken newline = new CommonToken(PythonLexer.NEWLINE, "\n"); newline.setLine(t.getLine()); newline.setCharPositionInLine(t.getCharPositionInLine()); tokens.addElement(newline); } + private void handleEOF(CommonToken eof, CommonToken prev) { + //System.out.println("processing eof with token: " + prev); + if (prev != null) { + eof.setStartIndex(prev.getStopIndex()); + eof.setStopIndex(prev.getStopIndex()); + eof.setLine(prev.getLine()); + eof.setCharPositionInLine(prev.getCharPositionInLine()); + } + } + protected void insertImaginaryIndentDedentTokens() { Token t = stream.LT(1); stream.consume(); if (t.getType() == Token.EOF) { + Token prev = stream.LT(-1); + handleEOF((CommonToken)t, (CommonToken)prev); if (!inSingle) { - Token prev = stream.LT(-1); - if (prev == null || prev.getType() != PythonLexer.NEWLINE) { + if (prev == null) { generateNewline(t); + } else if (prev.getType() == PythonLexer.LEADING_WS) { + handleDedents(-1, (CommonToken)t); + generateNewline(t); + } else if (prev.getType() != PythonLexer.NEWLINE) { + generateNewline(t); + handleDedents(-1, (CommonToken)t); } + } else { + handleDedents(-1, (CommonToken)t); } - - handleDedents(-1, (CommonToken)t); enqueue(t); } else if (t.getType() == PythonLexer.NEWLINE) { // save NEWLINE in the queue @@ -173,11 +191,12 @@ t = stream.LT(1); stream.consume(); - enqueueHiddens(t); + List<Token> commentedNewlines = enqueueHiddens(t); // compute cpos as the char pos of next non-WS token in line int cpos = t.getCharPositionInLine(); // column dictates indent/dedent if (t.getType() == Token.EOF) { + handleEOF((CommonToken)t, (CommonToken)newline); cpos = -1; // pretend EOF always happens at left edge } else if (t.getType() == PythonLexer.LEADING_WS) { @@ -207,6 +226,9 @@ for(int i=1;i<newlines.length();i++) { generateNewline(newline); } + for (Token c : commentedNewlines) { + generateNewline(c); + } } if (t.getType() != PythonLexer.LEADING_WS) { // discard WS @@ -223,7 +245,8 @@ tokens.addElement(t); } - private void enqueueHiddens(Token t) { + private List<Token> enqueueHiddens(Token t) { + List<Token> newlines = new ArrayList<Token>(); if (inSingle && t.getType() == Token.EOF) { if (stream.size() > lastTokenAddedIndex + 1) { Token hidden = stream.get(lastTokenAddedIndex + 1); @@ -231,25 +254,28 @@ String text = hidden.getText(); int i = text.indexOf("\n"); while(i != -1) { - generateNewline(hidden); + newlines.add(hidden); i = text.indexOf("\n", i + 1); } } } } - List hiddenTokens = stream.getTokens(lastTokenAddedIndex + 1,t.getTokenIndex() - 1); + List<Token> hiddenTokens = stream.getTokens(lastTokenAddedIndex + 1,t.getTokenIndex() - 1); if (hiddenTokens != null) { tokens.addAll(hiddenTokens); } lastTokenAddedIndex = t.getTokenIndex(); + return newlines; } private void handleIndents(int cpos, CommonToken t) { push(cpos); //System.out.println("push("+cpos+"): "+stackString()); - Token indent = new CommonToken(PythonParser.INDENT,""); + CommonToken indent = new CommonToken(PythonParser.INDENT,""); indent.setCharPositionInLine(t.getCharPositionInLine()); indent.setLine(t.getLine()); + indent.setStartIndex(t.getStartIndex() - 1); + indent.setStopIndex(t.getStartIndex() - 1); tokens.addElement(indent); } @@ -263,9 +289,8 @@ dedent.setCharPositionInLine(t.getCharPositionInLine()); dedent.setLine(t.getLine()); - //XXX: this will get messed up by comments. - dedent.setStartIndex(t.getStartIndex()); - dedent.setStopIndex(t.getStopIndex()); + dedent.setStartIndex(t.getStartIndex() - 1); + dedent.setStopIndex(t.getStartIndex() - 1); tokens.addElement(dedent); } @@ -306,11 +331,8 @@ if (i == -1 || i == -2) { return FIRST_CHAR_POSITION; } - /* ParseException p = new ParseException("unindent does not match any outer indentation level", t.getLine(), t.getCharPositionInLine()); - p.setType(Py.IndentationError); + RuntimeException p = new RuntimeException("unindent does not match any outer indentation level");//, t.getLine(), t.getCharPositionInLine()); throw p; - */ - throw new RuntimeException("unindent does not match any outer indentation level"); } public String stackString() { @@ -322,7 +344,6 @@ return buf.toString(); } - //FIXME: needed this for the Antlr 3.1b interface change. public String getSourceName() { return filename; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |