parse_erl_exprs(Prompt) -> Result
parse_erl_exprs(IoDevice, Prompt) -> Result
parse_erl_exprs(IoDevice, Prompt, StartLocation) -> Result
parse_erl_exprs(IoDevice, Prompt, StartLocation, Options) ->
Result
OTP R16B
类型:
IoDevice = device()
Prompt = prompt()
StartLocation = location()
Options = erl_scan:options()
Result = parse_ret()
parse_ret() =
{好的,
表达式列表::[erl_parse:abstract_expr()],
结束地点::location()} |
{eof,结束位置::location()} |
{错误,
错误信息::erl_scan:error_info()|erl_parse:error_info(),
错误位置::location()} |
server_no_data()
{好的,
表达式列表::[erl_parse:abstract_expr()],
结束地点::location()} |
{eof,结束位置::location()} |
{错误,
错误信息::erl_scan:error_info()|erl_parse:error_info(),
错误位置::location()} |
server_no_data()
server_no_data() = {错误,错误说明::term()} |埃夫
从标准输入读取数据(IoDevice
),提示它Prompt
。在指定位置开始阅读StartLocation
(1
)。争论Options
作为参数传递Options
函数的
erl_scan:tokens/4
。数据被标记并解析,就像它是 Erlang 表达式序列一样,直到最后一个点 (.
) 到达了。
该函数返回:
{ok, ExprList, EndLocation}
-
解析成功。
{eof, EndLocation}
-
标记生成器遇到文件结尾。
eof
-
I/O 服务器遇到文件结尾。
{error, ErrorInfo, ErrorLocation}
-
标记化或解析时发生错误。
{error, ErrorDescription}
-
其他(罕见)错误情况,例如从 NFS 文件系统读取时为
{error, estale}
。
例子:
25> io:parse_erl_exprs('enter>').
enter>abc(), "hey".
{ok, [{call,1,{atom,1,abc},[]},{string,1,"hey"}],2}
26> io:parse_erl_exprs ('enter>').
enter>abc("hey".
{error,{1,erl_parse,["syntax error before: ",["'.'"]]},2}
相关用法
- erlang parse(URIString)用法及代码示例
- erlang part(Subject, PosLen)用法及代码示例
- erlang partition(Pred, List)用法及代码示例
- erlang partition(SetOfSets)用法及代码示例
- erlang partition(SetFun, Set)用法及代码示例
- erlang partition(SetFun, Set1, Set2)用法及代码示例
- erlang partition_family(SetFun, Set)用法及代码示例
- erlang pad(String, Length)用法及代码示例
- erlang put用法及代码示例
- erlang ports用法及代码示例
- erlang processes用法及代码示例
- erlang pid_to_list用法及代码示例
- erlang pid_to_list(Pid)用法及代码示例
- erlang processes()用法及代码示例
- erlang put(Key, Val)用法及代码示例
- erlang print(DataOrStats, Options)用法及代码示例
- erlang peek(Q :: queue(Item))用法及代码示例
- erlang peek_r(Q :: queue(Item))用法及代码示例
- erlang pseudo(Master, ServerList)用法及代码示例
- erlang perf_counter(Unit)用法及代码示例
- erlang put(Key, Value, Map1)用法及代码示例
- erlang prefix(String :: unicode:chardata(), Prefix :: unicode:chardata())用法及代码示例
- erlang product(TupleOfSets)用法及代码示例
- erlang product(Set1, Set2)用法及代码示例
- erlang projection(SetFun, Set1)用法及代码示例
注:本文由纯净天空筛选整理自erlang.org大神的英文原创作品 parse_erl_exprs(Prompt) -> Result。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。