Erlang写的是什么? [英] What is Erlang written in?

查看:168
本文介绍了Erlang写的是什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

爱立信执行Erlang和Erlang / OTP是什么?是组装,C还是Erlang本身?



更新1:感谢DrJokepu。如果我正确理解,Erlang源到VM编译器是写在Erlang本身。但是VM是用C写的。



更新2:Hynek-Pichi-Vychodil指出了很多细节。




  • VM和HW交互驱动程序:C。

  • 编译器(到VM)和库:在Erlang中。

  • 扩展:可以用任何语言写入该语言的端口或Erlang节点。


  • 解决方案

    Erlang本身是用Erlang写的。听起来很奇怪是的,因为它只是部分真实。更好的看一下它:


    1. Erlang预处理器是用Erlang编写的。

    2. Erlang解析器是用Erlang编写的。

    3. Erlang编译器到BEAM(字节码VM)写在Erlang中。

    4. 将Erlang编译器加入HiPE(本地VM扩展名)写在Erlang中。

    5. Erlang VM BEAM和HiPE主要写在C中。

    6. 链接的驱动程序大多写在C.(它们被插入虚拟机并与外部世界进行通信。)

    7. OTP是用Erlang编写的。

    8. 另一个端口或节点可以写入任何语言。


    What is Ericsson's implementation of Erlang and Erlang/OTP written and compiled in? Is is assembly, C or Erlang itself?

    Update 1: Thanks to DrJokepu. If I understand correctly, Erlang source-to-VM compiler is written in Erlang itself. But the VM is written in C.

    Update 2: Hynek-Pichi-Vychodil pointed out a lot of details.

    • VM and HW interacting drivers: in C.
    • Compiler (to VM) and libraries: in Erlang.
    • Extensions: Possible in any language by writing a port or an Erlang node in that language.

    解决方案

    Erlang itself is written in Erlang. Sounds strange? Yes, because it is only partially true. OK look at it in more detail:

    1. Erlang preprocessor is written in Erlang.
    2. Erlang parser is written in Erlang.
    3. Erlang compiler to BEAM (byte-code VM) is written in Erlang.
    4. Erlang compiler to HiPE (native VM extension) is written in Erlang.
    5. Erlang VM BEAM and HiPE is written mostly in C.
    6. Linked-in drivers are written mostly in C. (They are plugged to VM and serves communication with outside world.)
    7. OTP is written in Erlang.
    8. Another ports or nodes can be written in any language.

    这篇关于Erlang写的是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

    查看全文
    登录 关闭
    扫码关注1秒登录
    发送“验证码”获取 | 15天全站免登陆