强烈建议程序员不要进行解析转换,也不要为遇到的问题提供支持。
为什么强烈建议程序员不要使用parse_transform / 2?这将不会得到支持吗?除了parse_transform / 2之外,是否有一种机制可以在编译之前注入代码(运行时字节码修改)或修改源代码?
答案 0 :(得分:9)
我能想象的一个原因是他们不想修复语法树格式。
因此,如果您使用Parse teansforms并且因为新版本的Erlang而中断,则您无法抱怨。
附录:在评论中提出了关于操纵Erlang源代码或字节代码的其他方法的问题
对于半自动代码重构,有Wrangler
您可以访问Erlang preprocessor,tokenizer和parser,例如提供程序的语法树
为了方便和便携地处理抽象形式(你从解析器甚至梁文件中得到的),有syntax_tools
对于操纵梁文件,可以beam_lib