Query: erl_parse
OS: linux
Section: 3erl
Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar
erl_parse(3erl) Erlang Module Definition erl_parse(3erl)NAMEerl_parse - The Erlang ParserDESCRIPTIONThis module is the basic Erlang parser which converts tokens into the abstract form of either forms (i.e., top-level constructs), expres- sions, 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(3erl) ).EXPORTSparse_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 INFORMATIONThe 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: Module:format_error(ErrorDescriptor)SEE ALSOio(3erl) , erl_scan(3erl) , ERTS User's Guide Ericsson AB stdlib 1.17.3 erl_parse(3erl)