首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Erlang如何实现erlang:display?

Erlang如何实现erlang:display?
EN

Stack Overflow用户
提问于 2015-01-19 17:07:54
回答 1查看 387关注 0票数 3

我想实现一个Erlang解释器,最近我读到了Erlang的标准库源代码。我在erlang.erl中找到了erlang:display/1的源代码:

代码语言:javascript
复制
%% display/1
-spec erlang:display(Term) -> true when
      Term :: term().
display(_Term) ->
    erlang:bif_error(undefined).

我不知道它是如何实现显示行为的,而且我认为它只是抛出了一个未定义的错误。顺便说一句,我还破解了erlang.beam,以确保字节码具有与源代码(erlang.erl)相同的语义。谁能告诉我erlang:显示到底是怎么回事?

EN

回答 1

Stack Overflow用户

发布于 2015-01-19 19:21:35

erlang:display/1是一个内置函数。有些BIF是在Erlang中实现的,但其中大多数都是在Erlang虚拟机中作为原语操作实现的,因为BIF为操作系统提供接口,或者执行在Erlang中编程不可能或效率非常低的操作。

你可能想简单地看看A GUIDE TO THE ERLANG SOURCE,它说;

bif.tab文件中汇总了BIF。例如:

代码语言:javascript
复制
Line 54: bif erlang:display/1

表示display/1 BIF映射到bif.c文件中的display_1方法。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28021081

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档