# The parse_trans application #

__Authors:__ Ulf Wiger ([``](

Parse_transform utilities

[![Build Status](](
[![Hex pm](](

## Introduction ##

Parse_trans was written in order to capture some useful patterns in parse transformation
and code generation for Erlang.

Most notably, perhaps, the module [`exprecs`]( generates standardized accessor
functions for records, and [`ct_expand`]( makes it possible to evaluate an
expression at compile-time and substitute the result as a compile-time constant.

Less known modules, perhaps:
* [`parse_trans_pp`]( can be called with escript to pretty-print source from
  debug-compiled .beam files.
* [`parse_trans_codegen`]( provides pseudo-functions that can be used for
  simple code generation.
* [`parse_trans`]( provides various helper functions for traversing code and
  managing complex parse transforms

## Modules ##

<table width="100%" border="0" summary="list of modules">
<tr><td><a href="" class="module">ct_expand</a></td></tr>
<tr><td><a href="" class="module">exprecs</a></td></tr>
<tr><td><a href="" class="module">parse_trans</a></td></tr>
<tr><td><a href="" class="module">parse_trans_codegen</a></td></tr>
<tr><td><a href="" class="module">parse_trans_mod</a></td></tr>
<tr><td><a href="" class="module">parse_trans_pp</a></td></tr></table>