[英]Choosing an AST to develop a static code analyzer for Elixir? Core Erlang or Expanded Elixir 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.