Jeremy Hylton be317e615e patches from Mark Hammond
Attached is a set of diffs for the .py compiler that adds support
for the new extended call syntax.

compiler/ast.py:
CallFunc node gets 2 new children to support extended call syntax -
"star_args" (for "*args") and "dstar_args" (for "**args")

compiler/pyassem.py
It appear that self.lnotab is supposed to be responsible for
tracking line numbers, but self.firstlineno was still hanging
around.  Removed self.firstlineno completely.  NOTE - I didnt
actually test that the generated code has the correct line numbers!!

Stack depth tracking appeared a little broken - the checks never
made it beyond the "self.patterns" check - thus, the custom methods
were never called!  Fixed this.

(XXX Jeremy notes: I think this code is still broken because it
doesn't track stack effects across block bounaries.)

Added support for the new extended call syntax opcodes for depth
calculations.

compiler/pycodegen.py

Added support for the new extended call syntax opcodes.

compiler/transformer.py

Added support for the new extended call syntax.
2000-05-02 22:32:59 +00:00
..
2000-05-02 22:32:59 +00:00
2000-05-02 13:49:13 +00:00
2000-04-11 15:30:19 +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!

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.

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.