Go to main content

man pages section 3: Extended Library Functions, Volume 1

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

erl_id_trans (3erl)

Name

erl_id_trans - An identity parse transform.

Synopsis

Please see following description for synopsis

Description

erl_id_trans(3)            Erlang Module Definition            erl_id_trans(3)



NAME
       erl_id_trans - An identity parse transform.

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 exam-
              ple.

       parse_transform_info() -> Info

              Types:

                 Info = #{'error_location' => 'column' | 'line'}

              Returns information about the parse transform itself.

PARSE TRANSFORMATIONS
       Parse transformations are used if a programmer wants to use Erlang syn-
       tax,  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  transforma-
       tions. No support is offered for problems encountered.


SEE ALSO
       erl_parse(3), compile(3)



Ericsson AB                       stdlib 3.17                  erl_id_trans(3)