为什么程序员“强烈建议不要进行解析转换”?

时间:2011-10-22 12:45:10

标签: erlang parse-transform

根据erl_id_trans documentation

  

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

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

1 个答案:

答案 0 :(得分:9)

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

因此,如果您使用Parse teansforms并且因为新版本的Erlang而中断,则您无法抱怨。

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

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

  • 您可以访问Erlang preprocessortokenizerparser,例如提供程序的语法树

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

  • 对于操纵梁文件,可以beam_lib