簡體   English   中英

將Elixir AST轉換為Erlang AST? 可能嗎?

[英]Convert an Elixir AST to an Erlang AST? Is it possible?

可以像這樣采用引用的Elixir表達式(AST樹):

quote do: 1 + 1
=> {:+, [context: Elixir, import: Kernel], [1, 1]}

並將其轉換為Erlang AST?

我查看了代碼模塊以及一些尋找功能的內核模塊,但是我找不到任何東西。 我甚至不確定這是否可能......我不知道如何在Ellang AST中表示像Elixir宏這樣的東西。

提前致謝!

目前沒有公共API可以這樣做。 您可以查看elixir模塊以了解它是如何完成的,但它是私有API,它可以隨時更改,不保證兼容性,甚至可以刪除。

例如,我寫了'gist'如何做到這一點 - https://gist.github.com/habibutsu/bc6791d3d81b6ea54e1a

有兩個功能:

fun elixir:'string_to_quoted!'/4
fun elixir:quoted_to_erl/3

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM