man epp () - An Erlang Code Preprocessor

NAME

epp - An Erlang Code Preprocessor

DESCRIPTION

The Erlang code preprocessor includes functions which are used by compile to preprocess macros and include files before the actual parsing takes place.

EXPORTS

open(FileName, IncludePath) -> {ok,Epp} | {error, ErrorDescriptor}

open(FileName, IncludePath, PredefMacros) -> {ok,Epp} | {error, ErrorDescriptor}

Types
FileName = atom() | string()

IncludePath = [DirectoryName]

DirectoryName = atom() | string()

PredefMacros = [{atom(), term()}]

Epp = pid() -- handle to the epp server

ErrorDescriptor = term()

Opens a file for preprocessing.

close(Epp) -> ok

Types
Epp = pid() -- handle to the epp server

Closes the preprocessing of a file.

parse_erl_form(Epp) -> {ok, AbsForm} | {eof, Line} | {error, ErrorInfo}

Types
Epp = pid()

AbsForm = term()

Line = integer()

ErrorInfo = see separate description below.

Returns the next Erlang form from the opened Erlang source file. The tuple {eof, Line} is returned at end-of-file. The first form corresponds to an implicit attribute -file(File, 1)., where File is the name of the file.

parse_file(FileName,IncludePath,PredefMacro) -> {ok,[Form]} | {error,OpenError}

Types
FileName = atom() | string()

IncludePath = [DirectoryName]

DirectoryName = atom() | string()

PredefMacros = [{atom(), term()}]

Form = term() -- same as returned by erl_parse:parse_form

Preprocesses and parses an Erlang source file. Note that the tuple {eof, Line} returned at end-of-file is included as a "form".

Error Information

The ErrorInfo mentioned above is the standard ErrorInfo structure which is returned from all IO modules. It has the following format:

    {ErrorLine, Module, ErrorDescriptor}

A string which describes the error is obtained with the following call:

apply(Module, format_error, ErrorDescriptor)

See Also

AUTHOR

Robert Virding - support@erlang.ericsson.se