Rechercher une page de manuel
erl_parse.3erl
Langue: en
Version: 268571 (debian - 07/07/09)
Section: 3 (Bibliothèques de fonctions)
NAME
erl_parse - The Erlang ParserDESCRIPTION
This module is the basic Erlang parser which converts tokens into the abstract form of either forms (i.e., top-level constructs), expressions, or terms. The Abstract Format is described in the ERTS User's Guide. Note that a token list must end with the dot token in order to be acceptable to the parse functions (see erl_scan).
EXPORTS
parse_form(Tokens) -> {ok, AbsForm} | {error, ErrorInfo}
-
- Types
- Tokens = [Token]
Token = {Tag, Line} | {Tag, Line, term()}
Tag = atom()
AbsForm = term()
ErrorInfo = see section Error Information below.
This function parses Tokens as if it were a form. It returns:-
-
- {ok, AbsForm}:
- The parsing was successful. AbsForm is the abstract form of the parsed form.
- {error, ErrorInfo}:
- An error occurred.
-
parse_exprs(Tokens) -> {ok, Expr_list} | {error, ErrorInfo}
-
- Types
- Tokens = [Token]
Token = {Tag, Line} | {Tag, Line, term()}
Tag = atom()
Expr_list = [AbsExpr]
AbsExpr = term()
ErrorInfo = see section Error Information below.
This function parses Tokens as if it were a list of expressions. It returns:-
-
- {ok, Expr_list}:
- The parsing was successful. Expr_list is a list of the abstract forms of the parsed expressions.
- {error, ErrorInfo}:
- An error occurred.
-
parse_term(Tokens) -> {ok, Term} | {error, ErrorInfo}
-
- Types
- Tokens = [Token]
Token = {Tag, Line} | {Tag, Line, term()}
Tag = atom()
Term = term()
ErrorInfo = see section Error Information below.
This function parses Tokens as if it were a term. It returns:-
-
- {ok, Term}:
- The parsing was successful. Term is the Erlang term corresponding to the token list.
- {error, ErrorInfo}:
- An error occurred.
-
format_error(ErrorDescriptor) -> Chars
-
- Types
- ErrorDescriptor = errordesc()
Chars = [char() | Chars]
Uses an ErrorDescriptor and returns a string which describes the error. This function is usually called implicitly when an ErrorInfo structure is processed (see below).
tokens(AbsTerm) -> Tokens
tokens(AbsTerm, MoreTokens) -> Tokens
-
- Types
- Tokens = MoreTokens = [Token]
Token = {Tag, Line} | {Tag, Line, term()}
Tag = atom()
AbsTerm = term()
ErrorInfo = see section Error Information below.
This function generates a list of tokens representing the abstract form AbsTerm of an expression. Optionally, it appends Moretokens.
normalise(AbsTerm) -> Data
-
- Types
- AbsTerm = Data = term()
Converts the abstract form AbsTerm of a term into a conventional Erlang data structure (i.e., the term itself). This is the inverse of abstract/1.
abstract(Data) -> AbsTerm
-
- Types
- Data = AbsTerm = term()
Converts the Erlang data structure Data into an abstract form of type AbsTerm. This is the inverse of normalise/1.
ERROR INFORMATION
The ErrorInfo mentioned above is the standard ErrorInfo structure which is returned from all IO modules. It has the format:
{ErrorLine, Module, ErrorDescriptor}
A string which describes the error is obtained with the following call:
apply(Module, format_error, ErrorDescriptor)
SEE ALSO
io(3erl), erl_scan(3erl), ERTS User's Guide
Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre