将Elixir AST转换为Erlang AST?可能吗?

Str*_*s3D 4 erlang elixir abstract-syntax-tree beam quote

可以像这样采用引用的Elixir表达式(AST树):

quote do: 1 + 1
=> {:+, [context: Elixir, import: Kernel], [1, 1]}
Run Code Online (Sandbox Code Playgroud)

并将其转换为Erlang AST?

我查看了代码模块以及一些寻找功能的内核模块,但是我找不到任何东西.我甚至不确定这是否可能......我不知道如何在Ellang AST中表示像Elixir宏这样的东西.

提前致谢!

Jos*_*lim 5

目前没有公共API可以这样做.您可以查看elixir模块以了解它是如何完成的,但它是私有API,它可以随时更改,不保证兼容性,甚至可以删除.