Доступ к AST используется для создания symtable
В моей программе мне нужны как symtable, так и AST куска кода.
В настоящее время я занимаюсь:
import ast
import symtable
code = 'foo'
ast.parse(code)
symtable.symtable(code, '?', 'exec')
Но потому что symtable()
создает AST сам, я на самом деле создаю AST дважды. И так как мой код должен работать быстро, я бы лучше использовал AST, который уже был создан для symtable, чем для создания второго, который занимает дополнительное время.
Итак, есть ли способ получить доступ к AST, который был создан для создания symtable? Другими словами, могу ли я иметь как AST, так и symtable для одного и того же кода, не создавая AST дважды?