NodeTransformer: how to remove nodes?

Tobias Müller to.mueller13 at gmail.com
Wed Aug 21 10:46:39 EDT 2013


Thanks Chris and Peter.

I already went further along. No more issues so far.



2013/8/19 Peter Otten <__peter__ at web.de>

> Tobias Müller wrote:
>
> > I'm facing an issue with NodeTransformer, a tool used for Python AST
> > manipulations.
> >
> > Last week I posted on stackoverflow.com, but there are no responses yet.
> > Maybe someone reading the mailing list can have a look and leave me a
> > response here or over there?
> >
> >
> http://stackoverflow.com/questions/18275662/python-nodetransformer-how-to-
> remove-nodes
>
> As Chris says, you are overriding too much of the generic behaviour. Here
> is
> a working demo:
>
> import ast
>
> class MyTransformer(ast.NodeTransformer):
>     def visit_For(self, node):
>         """
>         For nodes: replace with nothing
>         """
>         print("removing a For node")
>         return None
>
>
> source = """
> l = [0, 1, 2, 3]
>
> total = 0
>
> for i in l:
>     total += i
>
> print(total)
> """
>
> transformer = MyTransformer()
> module = ast.parse(source)
> transformer.visit(module)
> codeobj = compile(module, '<string>', 'exec')
> exec(codeobj)
>
>
> --
> http://mail.python.org/mailman/listinfo/python-list
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20130821/6221c592/attachment.html>


More information about the Python-list mailing list