1. Erlang语法和元编程工具 | 1. Erlang Syntax and Metaprogramming tools
1个Erlang语法和元编程工具
1.1概览
此包包含用于处理在二郎山抽象语法树(AST的),在某种程度上是与STDLIB模块的“抽象形式”解析树兼容模块erl_parse
与公用事业,一起阅读源文件,pretty-printing syntax trees
,merging and renaming modules
,cleaning up obsolete constructs
,,完成metaprogramming
在Erlang。
抽象层(定义于erl_syntax
)结构良好,节点类型与上下文无关。该层使得透明地将源代码注释和用户注释附加到树的节点成为可能。使用抽象层可以使应用程序对erl_parse(3)
数据结构的变化不那么敏感,只需要erl_syntax
模块是最新的。
漂亮的打印机erl_prettypr
是在库模块的顶部实现的prettypr
:这是一个功能强大且灵活的通用漂亮打印库,它也是单独分发的。
对于解析和漂亮打印的简短演示,只需编译包含的模块demo.erl
,然后demo:run()
从Erlang shell 执行即可。它将编译其余模块并给你进一步的指示。
也请尝试erl_tidy
模块,如下所示:
erl_tidy:dir("any-erlang-source-dir", [test, old_guard_tests]).
(该test
选项确保没有文件被修改)。