This package contains modules for handling abstract syntax trees (ASTs) in Erlang, in a way that is compatible with the "abstract format" parse trees of the stdlib module
erl_parse, together with utilities for reading source files,
pretty-printing syntax trees,
merging and renaming modules,
cleaning up obsolete constructs, and doing
metaprogramming in Erlang.
The abstract layer (defined in
erl_syntax) is nicely structured and the node types are context-independent. The layer makes it possible to transparently attach source-code comments and user annotations to nodes of the tree. Using the abstract layer makes applications less sensitive to changes in the
erl_parse(3) data structures, only requiring the
erl_syntax module to be up-to-date.
For a short demonstration of parsing and pretty-printing, simply compile the included module
demo.erl, and execute
demo:run() from the Erlang shell. It will compile the remaining modules and give you further instructions.
Also try the
erl_tidy module, as follows:
erl_tidy:dir("any-erlang-source-dir", [test, old_guard_tests]).
test option assures that no files are modified).
© 2010–2017 Ericsson AB
Licensed under the Apache License, Version 2.0.