CDR*_*CDR 109 erlang bootstrapping
爱立信编写和编译的Erlang和Erlang/OTP的实现是什么?是汇编,C还是Erlang本身?
更新1:感谢DrJokepu.如果我理解正确,Erlang source-to-VM编译器是用Erlang本身编写的.但VM是用C语言编写的.
更新2:Hynek-Pichi-Vychodil指出了很多细节.
Hyn*_*dil 137
Erlang本身是用Erlang编写的.听起来很奇怪?是的,因为它只是部分正确.好的,看看它更详细:
Tam*_*ege 89
10.7第一个Erlang编译器是如何编写的?
(或者:Erlang是如何引导的?)用Joe的话来说:
首先,我设计了一个抽象机器来执行Erlang.这被称为JAM机器; JAM = Joe的抽象机器.
然后我从Erlang写了一个编译器到JAM和一个模拟器,看看机器是否工作.这两个都是用prolog写的.
与此同时,Mike Williams为JAM编写了一个C模拟器.
然后我在Erlang中重写了erlang-to-jam编译器,并使用prolog编译器进行编译.生成的对象代码在C仿真器中运行.然后我们扔掉了prolog.