Copyright (C) 2000-2012 |
GNU Info (python2.1-lib.info)Emulation of compileEmulation of `compile()' ........................ While many useful operations may take place between parsing and bytecode generation, the simplest operation is to do nothing. For this purpose, using the `parser' module to produce an intermediate data structure is equivalent to the code >>> code = compile('a + 5', 'file.py', 'eval') >>> a = 5 >>> eval(code) 10 The equivalent operation using the `parser' module is somewhat longer, and allows the intermediate internal parse tree to be retained as an AST object: >>> import parser >>> ast = parser.expr('a + 5') >>> code = ast.compile('file.py') >>> a = 5 >>> eval(code) 10 An application which needs both AST and code objects can package this code into readily available functions: import parser def load_suite(source_string): ast = parser.suite(source_string) return ast, ast.compile() def load_expression(source_string): ast = parser.expr(source_string) return ast, ast.compile() automatically generated by info2www version 1.2.2.9 |