Parsing 在运行时从表达式获取AST

Parsing 在运行时从表达式获取AST,parsing,ironpython,abstract-syntax-tree,Parsing,Ironpython,Abstract Syntax Tree,我想在运行时从IronPython中的表达式检索AST: 目前,我这样做: def sum(a, b): return a + b 然后: source = inspect.getsource(sum) AST = ast.parse(source) 它工作得很完美,但我认为将代码转换为 字符串,然后重新分析以获取AST 有没有办法直接从表达式中获取ast 类似于:AST=AST.get\u AST(sum) 非常感谢。为什么编译后的代码会被现在已经过时的AST拖累?我需要在运行时修

我想在运行时从IronPython中的表达式检索AST:

目前,我这样做:

def sum(a, b):
    return a + b
然后:

source = inspect.getsource(sum)
AST = ast.parse(source)
它工作得很完美,但我认为将代码转换为 字符串,然后重新分析以获取AST

有没有办法直接从表达式中获取ast

类似于:
AST=AST.get\u AST(sum)


非常感谢。

为什么编译后的代码会被现在已经过时的AST拖累?我需要在运行时修改AST中的某些内容。如果AST现在已经过时了,你会推荐什么呢?我假设@delnan谈论的是“过时”,即为什么处理/编译的代码会保留这些信息,而99%的时间都没有人需要它,只想执行代码。这项技术本身看起来并不过时。