[Python-checkins] python/dist/src/Doc/whatsnew whatsnew25.tex, 1.20, 1.21
akuchling@users.sourceforge.net
akuchling at users.sourceforge.net
Sun Oct 23 23:53:02 CEST 2005
Update of /cvsroot/python/python/dist/src/Doc/whatsnew
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27568
Modified Files:
whatsnew25.tex
Log Message:
Add paragraphs on AST branch. AST'ers, please suggest corrections
Index: whatsnew25.tex
===================================================================
RCS file: /cvsroot/python/python/dist/src/Doc/whatsnew/whatsnew25.tex,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -d -r1.20 -r1.21
--- whatsnew25.tex 29 Aug 2005 13:30:12 -0000 1.20
+++ whatsnew25.tex 23 Oct 2005 21:52:59 -0000 1.21
@@ -447,6 +447,31 @@
\begin{itemize}
+\item The design of the bytecode compiler has changed a great deal, no
+longer generating bytecode by traversing the parse tree. Instead
+the parse tree is converted to an abstract syntax tree (or AST), and it is
+the abstract syntax tree that's traversed to produce the bytecode.
+
+No documentation has been written for the AST code yet. To start
+learning about it, read the definition of the various AST nodes in
+\file{Parser/Python.asdl}. A Python script reads this file and
+generates a set of C structure definitions in
+\file{Include/Python-ast.h}. The \cfunction{PyParser_ASTFromString()}
+and \cfunction{PyParser_ASTFromFile()}, defined in
+\file{Include/pythonrun.h}, take Python source as input and return the
+root of an AST representing the contents. This AST can then be turned
+into a code object by \cfunction{PyAST_Compile()}. For more
+information, read the source code, and then ask questions on
+python-dev.
+
+% List of names taken from Jeremy's python-dev post at
+% http://mail.python.org/pipermail/python-dev/2005-October/057500.html
+The AST code was developed under Jeremy Hylton's management, and
+implemented by (in alphabetical order) Brett Cannon, Nick Coghlan,
+Grant Edwards, John Ehresman, Kurt Kaiser, Neal Norwitz, Tim Peters,
+Armin Rigo, and Neil Schemenauer, plus the participants in a number of
+AST sprints at conferences such as PyCon.
+
\item The built-in set types now have an official C API. Call
\cfunction{PySet_New()} and \cfunction{PyFrozenSet_New()} to create a
new set, \cfunction{PySet_Add()} and \cfunction{PySet_Discard()} to
More information about the Python-checkins
mailing list