[Python-Dev] [Python-projects] AST in Python 2.5

Nicolas Chauvat nicolas.chauvat at logilab.fr
Thu Feb 16 09:57:00 CET 2006

On Wed, Feb 15, 2006 at 09:40:17PM -0800, Neal Norwitz wrote:
> I'm not sure if anyone here is following the AST discussion on
> python-dev, but it would be great if you had any input.  pylint is a
> pretty big consumer of the compiler module and the decisions with
> respect to the AST could impact you.
> http://mail.python.org/pipermail/python-dev/2006-February/060994.html

We will jump in with better comments, but I just wanted to make sure
you knew about: 


and the work being done in PyPy:


Here is a bit from our EU reports that is about Workpackage 10 
"Aspects and Contracts in Python":

WP10 Status

Extend language with aspects and contracts

* researched how other languages do it (AspectJ, HyperJ, AspectS, etc.)
* started allowing AST manipulation (for weaving code and function calls)
* started allowing grammar manipulation (for experimenting with syntax)

WP10 Status (cont.)

AST and grammar manipulation

* needed for both WP9 and WP10
* AST nodes are exposed at application-level and a compiler hook 
* allows to modify the AST at compile-time
* syntax can be modified at run-time, but still limited because
  grammar objects are not fully exposed at application-level

WP10 Status (cont.)

AST manipulation example::
    >>>> 3 + 3
    >>>> from parser import install_compiler_hook
    >>>> from hooks import _3becomes2
    >>>> install_compiler_hook(_3becomes2)
    >>>> 3 + 3

Nicolas Chauvat

logilab.fr - services en informatique avancée et gestion de connaissances  

More information about the Python-Dev mailing list