epp

Langue: en

Version: 155300 (fedora - 05/07/09)

Autres sections - même nom

Section: 3 (Bibliothèques de fonctions)

MODULE

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

erl_parse(3)