Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #28229

Accessing AST at runtime

Newsgroups comp.lang.python
Date 2012-09-01 19:30 -0700
Message-ID <8b41b8a9-b3b8-485a-8e5d-34d28c2d6d66@googlegroups.com> (permalink)
Subject Accessing AST at runtime
From alessandromoura35@googlemail.com

Show all headers | View raw


Hi,

I would like to access the AST of a python object at runtime. I mean, if I have this:

def f(x): return x*x/2

Is there any way to interrogate the object f to find out the AST of the expression x*x/2 ? Of course if the definition of f were in a file, I could use the ast module to parse it; but what I want is to do this from within the code.

The closest thing I was able to find was f.__code__, and more specifically f.__code__.co_code, but that is a byte-string which seems to be the bytecode (?) for the function.

This may not be possible at all; maybe after the def statement is processed by the Python interpreter the AST information is discarded. But I wanted to check here if someone knows one way or another.

Many thanks.

Back to comp.lang.python | Previous | NextNext in thread | Find similar | Unroll thread


Thread

Accessing AST at runtime alessandromoura35@googlemail.com - 2012-09-01 19:30 -0700
  Re: Accessing AST at runtime Ramchandra Apte <maniandram01@gmail.com> - 2012-09-01 19:48 -0700
  Re: Accessing AST at runtime Terry Reedy <tjreedy@udel.edu> - 2012-09-02 02:05 -0400

csiph-web