On 4/8/06, Phillip J. Eby <[EMAIL PROTECTED]> wrote:
> To me an AST access feature would only be useful for changing the "VM" that
> Python code runs on. For example, there is an object-relational mapper out
> there (I think it's Robert Brewer's DejaVu system) that takes Python
> generator expressions and converts them into SQL. Right now it does it by
> bytecode hacking, because the only alternative is to parse a string.
I can see how reading the AST could be useful here, but Python 2.5
already has that:
>>> expr = compile('(x**y for x, y in z)', '<string>', 'eval', 0x400)
>>> expr.body.elt.left.id
'x'
>>> expr.body.elt.right.id
'y'
>>> expr.body.elt.op
<_ast.Pow object at 0x00BD0690>
>>> [name.id for name in expr.body.generators[0].target.elts]
['x', 'y']
>>> expr.body.generators[0].iter.id
'z'
Do the use-cases here really need to change the AST on the original
function? What's wrong with creating a new function?
STeVe
--
Grammar am for people who can't think for myself.
--- Bucky Katt, Get Fuzzy
_______________________________________________
Python-3000 mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-3000
Unsubscribe:
http://mail.python.org/mailman/options/python-3000/archive%40mail-archive.com