![]() |
1
5
ListAST实际上是一个AST:s的列表(因为parse_exprs,顾名思义,解析多个表达式(每个表达式以句点结尾)。由于字符串包含一个表达式,因此得到了一个元素列表。您所需要做的就是匹配:
|
![]() |
2
3
我脑子里的一些评论。 我没有真正使用erl_语法库,但我确实认为它们使阅读和“查看”您试图构建的内容变得困难。我可能会导入函数或定义自己的API,以使其更短、更清晰。但我通常倾向于选择较短的函数名和变量名。 由erl_语法创建的AST和由erl_parse创建并在编译器中使用的“标准”AST是不同的 混合。所以你必须从中选择一个并坚持下去。 第二次编辑中的示例适用于术语,但不适用于更一般的情况:
这是因为erl_parse:parse_term/1返回由令牌表示的实际术语,而其他erl_parse函数parse_form和parse_expr返回AST。把它们放到erl_语法中:抽象会做一些有趣的事情。
|
![]() |
3
2
佐尔坦 以下是我们获取AST的方式:
|
![]() |
mritalian · Erlang ETS内存碎片 7 年前 |
![]() |
david · Erlang:从主机名获取ip地址 7 年前 |
![]() |
Matt · 有没有办法访问GenServer的状态? 7 年前 |
![]() |
Chris W · 具有并行HTTP请求的Erlang网络问题 7 年前 |