How does python build its AST
Kay Schluehr
kay.schluehr at gmx.net
Fri Dec 7 10:50:30 EST 2007
On Dec 7, 3:23 pm, MonkeeSage <MonkeeS... at gmail.com> wrote:
> A quick question about how python parses a file into compiled
> bytecode. Does it parse the whole file into AST first and then compile
> the AST, or does it build and compile the AST on the fly as it reads
> expressions? (If the former case, why can't functions be called before
> their definitions?)
>
> Thanks,
> Jordan
Python uses a highly optimized table based LL(1) parser to create a
syntax tree. In Python 2.5 it transforms the concrete syntax tree
( CST ) into an AST before compilation. Before that it compiled the
CST directly. I'm not sure what you are asking for ( in parentheses )?
Parser actions or preprocessing the tree? The latter is definitely
possible and you can build your own compilation machinery using the
parser module and the compile function.
Kay
More information about the Python-list
mailing list