6

根据erl_id_trans 文档

强烈建议程序员不要进行解析转换,并且不为遇到的问题提供支持。

为什么强烈建议程序员不要使用 parse_transform/2?以后会不会支持这个?除了 parse_transform/2 之外,是否有一种机制可以在编译之前注入代码(运行时字节码修改)或修改源代码?

4

1 回答 1

9

我可以想象的一个原因是他们不想修复语法树格式。

因此,如果您使用 Parse teasforms 并且由于 Erlang 的新版本而中断,您就不能抱怨。

附录:在评论中提出了关于操作 Erlang 源代码或字节码的其他方法的问题

  • 对于半自动代码重构,有Wrangler

  • 您可以访问 Erlang预处理器标记器和解析器,例如提供程序的语法树

  • 为了方便和便携地操作抽象形式(你从解析器甚至梁文件中得到的东西),有syntax_tools

  • 用于操作梁文件有beam_lib

于 2011-10-22T16:07:23.347 回答