erl_id_trans - An identity parse transform.
Contents
Description
This module performs an identity parse transformation of Erlang code. It is included as an example for
users who wants to write their own parse transformers. If option {parse_transform,Module} is passed to
the compiler, a user-written function parse_transform/2 is called by the compiler before the code is
checked for errors.
Before the function parse_transform is called, the Erlang Compiler checks if the parse transformation can
handle abstract code with column numbers: If the function parse_transform_info/0 is implemented and
returns a map where the key error_location is associated with the value line, the compiler removes column
numbers from the abstract code before calling the parse transform. Otherwise, the compiler passes the
abstract code on without modification.
Exports
parse_transform(Forms,Options)->Forms
Types:
Forms = [erl_parse:abstract_form() | erl_parse:form_info()]
Options = [compile:option()]
Performs an identity transformation on Erlang forms, as an example.
parse_transform_info()->Info
Types:
Info = #{'error_location' => 'column' | 'line'}
Returns information about the parse transform itself.
Name
erl_id_trans - An identity parse transform.
Parse Transformations
Parse transformations are used if a programmer wants to use Erlang syntax, but with different semantics.
The original Erlang code is then transformed into other Erlang code.
Note:
Programmers are strongly advised not to engage in parse transformations. No support is offered for
problems encountered.
See Also
erl_parse(3erl), compile(3erl) Ericsson AB stdlib 3.17 erl_id_trans(3erl)
