From e533ea29e80a641f247022f321a3bf1a1456c56e Mon Sep 17 00:00:00 2001
From: Richard Carlsson
Date: Tue, 23 Dec 2014 14:23:35 +0100
Subject: Include Merl in Syntax Tools
---
lib/syntax_tools/doc/overview.edoc | 83 +++++++++---------------------------
lib/syntax_tools/doc/src/Makefile | 2 +
lib/syntax_tools/doc/src/ref_man.xml | 13 +++---
3 files changed, 28 insertions(+), 70 deletions(-)
(limited to 'lib/syntax_tools/doc')
diff --git a/lib/syntax_tools/doc/overview.edoc b/lib/syntax_tools/doc/overview.edoc
index df02ad0b3a..3111633a99 100644
--- a/lib/syntax_tools/doc/overview.edoc
+++ b/lib/syntax_tools/doc/overview.edoc
@@ -2,79 +2,34 @@
Syntax Tools overview page
-
@author Richard Carlsson
-@copyright 1997-2004 Richard Carlsson
+@copyright 1997-2014 Richard Carlsson
@version {@version}
-@title Erlang Syntax Tools
+@title Erlang Syntax and Metaprogramming tools
-@doc This package contains modules for handling abstract Erlang syntax
-trees, in a way that is compatible with the "parse trees" of the
-standard library module `erl_parse', together with utilities for reading
-source files in unusual ways and pretty-printing syntax trees. Also
-included is an amazing module merger and renamer called Igor, as well as
-an automatic code-cleaner.
+@doc 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, {@link erl_prettypr. pretty-printing syntax trees}, {@link
+igor. merging and renaming modules}, {@link erl_tidy. cleaning up obsolete
+constructs}, and doing {@link merl. metaprogramming} in Erlang.
-The abstract layer (defined in {@link erl_syntax}) is nicely
+The abstract layer (defined in {@link 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 {@link //stdlib/erl_parse}
-data structures, only requiring the {@link erl_syntax} module to be
-up-to-date.
+data structures, only requiring the `erl_syntax' module to be up-to-date.
-The pretty printer {@link erl_prettypr} is implemented on top of the
+The pretty printer {@link erl_prettypr} is implemented on top of the
library module {@link prettypr}: this is a powerful and flexible generic
-pretty printing library, which is also distributed separately.
-
-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 {@link erl_tidy} module, as follows:
-
- erl_tidy:dir("any-erlang-source-dir", [test, old_guard_tests]).
-("test
" assures that no files are modified).
-
-News in 1.4:
-
- - Added support for {@link erl_syntax:cond_expr/1. cond-expressions},
- {@link erl_syntax:try_expr/4. try-expressions} and
- {@link erl_syntax:class_qualifier/2. class-qualifier patterns}.
- - Added support for parameterized modules.
- - {@link igor. Igor} is officially included.
- - Quick-parse functionality added to {@link epp_dodger}.
-
-
-
-News in 1.3:
-
- - Added support for qualified names (as used by "packages").
- - Various internal changes.
-
-
+pretty printing library, which is also distributed separately.
-News in 1.2:
-
- - HTML Documentation (generated with EDoc).
- - A few bug fixes and some minor interface changes (sorry for any
- inconvenience).
-
-
+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.
-News in 1.1:
-
- - Module {@link erl_tidy}: check or tidy either a single module, or a
- whole directory tree recursively. Rewrites and reformats the code
- without losing comments or expanding macros. Safe mode allows
- generating reports without modifying files.
- - Module {@link erl_syntax_lib}: contains support functions for easier
- analysis of the source code structure.
- - Module {@link epp_dodger}: Bypasses the Erlang preprocessor - avoids
- macro expansion, file inclusion, conditional compilation, etc.
- Allows you to find/modify particular definitions/applications of
- macros, and other things previously not possible.
-
-
+Also try the {@link erl_tidy} module, as follows:
+```erl_tidy:dir("any-erlang-source-dir", [test, old_guard_tests]).'''
+(the `test' option assures that no files are modified).
diff --git a/lib/syntax_tools/doc/src/Makefile b/lib/syntax_tools/doc/src/Makefile
index 2502bf877a..b7c599a9b9 100644
--- a/lib/syntax_tools/doc/src/Makefile
+++ b/lib/syntax_tools/doc/src/Makefile
@@ -50,6 +50,8 @@ XML_REF3_FILES = \
erl_syntax_lib.xml \
erl_tidy.xml \
igor.xml \
+ merl.xml \
+ merl_transform.xml \
prettypr.xml
XML_PART_FILES = part.xml part_notes.xml
diff --git a/lib/syntax_tools/doc/src/ref_man.xml b/lib/syntax_tools/doc/src/ref_man.xml
index 598f656011..2b114c8528 100644
--- a/lib/syntax_tools/doc/src/ref_man.xml
+++ b/lib/syntax_tools/doc/src/ref_man.xml
@@ -29,12 +29,11 @@
Syntax_Tools contains modules for handling abstract
- Erlang syntax trees, in a way that is compatible with the "parse
- trees" of the STDLIB module erl_parse, together with
- utilities for reading source files in unusual ways and
- pretty-printing syntax trees. Also included is an amazing module
- merger and renamer called Igor, as well as an automatic
- code-cleaner.
+ Erlang syntax trees, in a way that is compatible with the "external
+ 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.
@@ -44,6 +43,8 @@
+
+
--
cgit v1.2.3