April 2019
Intermediate to advanced
646 pages
16h 48m
English
The Python syntax is converted into AST before it is compiled into byte code. This is a tree representation of the abstract syntactic structure of the source code. Processing of Python grammar is available thanks to the built-in ast module. Raw ASTs of Python code can be created using the compile() function with the ast.PyCF_ONLY_AST flag, or by using the ast.parse() helper. Direct translation in reverse is not that simple and there is no function provided in the standard library that can do so. Some projects, such as PyPy, do such things though.
The ast module provides some helper functions that allow you to work with the AST, for example:
>>> tree = ast.parse('def hello_world(): print("hello world!")')
>>> tree ...