Transformation with ``parser`` ast

The ``compiler.ast`` module makes parsing Python source-code and AST manipulation relatively painless and it's straight-forward to implement a transformer class. However, I find that the ``compiler.pycodegen`` module imposes a hard limit on the length of functions since it calculates jump points in a recursion. I'm using this module to compile an XML dynamic template into Python code (akin to "Mako") and functions may grow to a rather large size. Now it seems that the ``parser`` module, which parses source code into ``parser.st`` trees does not have the same limitations, however, I could not find a transformer class compatible with its tree structure. What's the recommended way of working with the AST tree from the ``parser`` module? \malthe

This mailing list is for discussing the design of Python, not its use. The best place to ask your question is comp.lang.python. -Brett On Mon, Oct 13, 2008 at 12:15 PM, Malthe Borch <mborch@gmail.com> wrote:
The ``compiler.ast`` module makes parsing Python source-code and AST manipulation relatively painless and it's straight-forward to implement a transformer class.
However, I find that the ``compiler.pycodegen`` module imposes a hard limit on the length of functions since it calculates jump points in a recursion.
I'm using this module to compile an XML dynamic template into Python code (akin to "Mako") and functions may grow to a rather large size.
Now it seems that the ``parser`` module, which parses source code into ``parser.st`` trees does not have the same limitations, however, I could not find a transformer class compatible with its tree structure.
What's the recommended way of working with the AST tree from the ``parser`` module?
\malthe
_______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/brett%40python.org
participants (2)
-
Brett Cannon
-
Malthe Borch