Julia 方法的表面语法AST-代码\表面?

Julia 方法的表面语法AST-代码\表面?,julia,abstract-syntax-tree,Julia,Abstract Syntax Tree,有没有办法获得方法的表面语法 根据文档,表面AST下的所有内容都有一个函数/宏,从降低AST的code\u开始 如果有这样的东西就太好了 f(a,b) = 2*a + b @code_surface f(1,2) # :(2a + b) 其中,code\u surface应以标准的Expr抽象语法树的形式返回f的定义。给出了如何从代码中获得ExprAST表示的答案LambdaInfoc:“Base.uncompressed\u AST(c)给出AST(Expr对象),Base.LambdaIn

有没有办法获得方法的表面语法

根据文档,表面AST下的所有内容都有一个函数/宏,从降低AST的
code\u开始

如果有这样的东西就太好了

f(a,b) = 2*a + b
@code_surface f(1,2)
# :(2a + b)

其中,
code\u surface
应以标准的
Expr
抽象语法树的形式返回f的定义。

给出了如何从代码中获得
Expr
AST表示的答案
LambdaInfo
c
:“Base.uncompressed\u AST(c)给出AST(Expr对象),Base.LambdaInfo\u slotnames(c)给出参数名“%”,但这显然不是“标准”AST,而是降低了。这有点像/有点像的重复。不过,请参见我的最后一段-未降低的语法不会与方法定义一起保存,因此获取它的最佳方法是返回到源文件。给出了如何从代码中获取
Expr
AST表示形式的答案,降低了
LambdaInfo
c
:“Base.uncompressed\u AST(c)给出了AST(Expr对象)和Base.LambdaInfo\u slotnames(c)给出了参数名”`,但这显然不是“标准”AST,而是降低了。这有点像是一个复制的。不过,请参见我的最后一段-未降低的语法不会与方法定义一起保存,因此获取它的最佳方法是返回到源文件。