[Python-Dev] Using defaultdict as globals/locals for eval()
Neil Schemenauer
nas@python.ca
Fri, 25 Oct 2002 10:01:29 -0700
Martin v. Loewis wrote:
> Geert Jansen <geertj@boskant.nl> writes:
> > Or altenately, is there a way I can find out which variables are
> > used inside a compiled code block so I can initialize non-specified
> > variables? I have a vague memory that the nested scopes feature has
> > to determine at compile time which variables are being used in a
> > code block.
>
> Sure: you can parse the code, build an AST tuple (or list), and
> traverse that.
You might want to look at the ptl_compile module in Quixote for some
ideas. The AST from the 'compiler' package is much nicer than the parse
tree from the 'parser' module.
Neil