目前我正在做:
import ast
import symtable
code = 'foo'
ast.parse(code)
symtable.symtable(code, '?', 'exec')
但是因为symtable()
自己创建了一个AST,所以我实际上创建了两次AST。由于我的代码需要快速运行,我宁愿使用已经为symtable创建的AST而不是创建第二个代码,这需要额外的时间。
那么,有没有办法访问为生成symtable而构建的AST?换句话说,如果不同时创建AST,我可以为同一代码同时使用AST和symtable吗?