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