#The parse_trans application# __Authors:__ Ulf Wiger ([`ulf.wiger@erlang-consulting.com`](mailto:ulf.wiger@erlang-consulting.com)). A generic parse transform library This library is intended to simplify the task of writing parse transform modules for Erlang. #Introduction to parse transforms# ##The simplest transform## The very simplest transform we can make is one that doesn't change a thing. For convenience, we will at least print the forms. This will enlighten us as to what the forms actually look like.
-module(test_pt).

-export([parse_transform/2]).

parse_transform(Forms, _Options) ->
    io:fwrite("Forms = ~p~n", [Forms]),
    Forms.
Trying this with a very simple module:
-module(ex1).
-export([add/2]).

add(X,Y) ->
    X + Y.
1> c(ex1, [{parse_transform,test_pt}]).
Forms = [{attribute,1,file,{"./ex1.erl",1}},
         {attribute,1,module,ex1},
         {attribute,2,export,[{add,2}]},
         {function,4,add,2,
                   [{clause,4,
                            [{var,4,'X'},{var,4,'Y'}],
                            [],
                            [{op,5,'+',{var,5,'X'},{var,5,'Y'}}]}]},
         {eof,6}]
{ok,ex1}
##`transform/4`## ... #Current limitations# ... ##Modules##
ct_expand
exprecs
parse_trans
parse_trans_codegen
parse_trans_mod
parse_trans_pp