cpython/Tools
Jeremy Hylton 314e3fb215 Change the graph structure to contain the code generator object for
embedded code objects (e.g. functions) rather than the generated code
object.  This change means that the compiler generates code for
everything at the end, rather then generating code for each function
as it finds it.  Implementation note: _convert_LOAD_CONST in
pyassem.py must be change to call getCode().

Other changes follow.  Several changes creates extra edges between
basic blocks to reflect control flow for loops and exceptions.  These
missing edges had gone unnoticed because they do not affect the
current compilation process.

pyassem.py:
    Add _enable_debug() and _disable_debug() methods that print
    instructions and blocks to stdout as they are generated.

    Add edges between blocks for instructions like SETUP_LOOP,
    FOR_LOOP, etc.

    Add pruneNext to get rid of bogus edges remaining after
    unconditional transfer ops (e.g. JUMP_FORWARD)

    Change repr of Block to omit block length.

pycodegen.py:
    Make sure a new block is started after FOR_LOOP, etc.

    Change assert implementation to use RAISE_VARARGS 1 when there is
    no user-specified failure output.

misc.py:
    Implement __contains__ and copy for Set.
2000-11-06 03:43:11 +00:00
..
audiopy __pushtodev(): Ignore transient sunaudiodev.errors when setting the 2000-03-29 21:05:53 +00:00
bgen Modified the standard mac preamble so we include pymactoolbox.h in 2000-07-15 22:29:30 +00:00
compiler Change the graph structure to contain the code generator object for 2000-11-06 03:43:11 +00:00
faqwiz New version 1.0.4. I'm sure someone mailed me these patches but I 2000-03-31 00:58:00 +00:00
freeze Application of [ Patch #102226 ] freeze/modulefinder.py should use _winreg, not win32api 2000-11-06 02:49:27 +00:00
i18n Added the -D/--docstrings option for extraction of unmarked module, 2000-10-27 04:56:28 +00:00
idle Add IDLE wish: access items of arrays 2000-10-25 21:18:12 +00:00
modulator REMOVED all CWI, CNRI and BeOpen copyright markings. 2000-09-01 23:29:29 +00:00
pynche make_view_popups(): Catch import error which can occur if a viewer is 1999-07-06 22:00:52 +00:00
scripts Hack ndiff to display lines w/ leading tabs more intuitively. This synchs 2000-11-01 02:51:27 +00:00
unicode Added 38,642 missing characters to the Unicode database (first-last 2000-11-03 20:24:15 +00:00
versioncheck Reindented without tabs and with uniform 4 space indent. 1998-04-06 14:20:27 +00:00
webchecker Patch inspired by Just van Rossum: on the Mac, in savefilename(), make 2000-04-25 21:13:24 +00:00
world Eugene Dvurechenski <jno@glas.net> says: 1999-05-26 04:02:18 +00:00
README unicode database compression, step 3: 2000-09-25 17:59:57 +00:00

This directory contains a number of Python programs that are useful
while building or extending Python.

bgen		Generate complete extension modules from a
		description.  Still under development!

compiler        A Python source to bytecode compiler written in
                Python, including an interface for manipulating
                abstract syntax trees.  Still under development.

faqwiz		FAQ Wizard.
		See http://grail.cnri.reston.va.us/cgi-bin/faqw.py
		for a live example.

freeze		Create a stand-alone executable from a Python program.

modulator	Interactively generate boiler plate for an extension
		module.  Works easiest if you have Tk.

scripts		A number of useful single-file programs, e.g. tabnanny.py
		(by Tim Peters), which checks for inconsistent mixing
		of tabs and spaces.

unicode		Tools used to generate unicode database files for
		Python 2.0 (by Fredrik Lundh).

versioncheck	A tool to automate checking whether you have the latest
		version of a package (by Jack Jansen).

webchecker	A link checker for web sites.