请问LISP编程语言的编译器是用啥语言编写的?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问LISP编程语言的编译器是用啥语言编写的?相关的知识,希望对你有一定的参考价值。

比如Racket,Common LISP等LISP方言的编译器,是用什么语言编写的?我在网上找不到答案。

LISP(全名LISt Processor,即链表处理语言),由约翰·麦卡锡在1960年左右创造的一种基于λ演算的函数式编程语言。 ——百度百科
使一种函数编程语言,曾被用于人工智能,语言都是一些符号,函数,很简单的语言(因此也做不出什么程序来或是很难做出,更别谈人工智能),不需要英语基础。追问

看来你连问题都没看懂。
我知道LISP是什么。
我想知道的是LISP的编译器是用什么语言做出来的。
注意,“LISP的编译器”是用“什么语言”做出来的。。。

参考技术A 楼上小白就不要乱说了,误人子弟。

Erlang是用啥写的?

【中文标题】Erlang是用啥写的?【英文标题】:What is Erlang written in?Erlang是用什么写的? 【发布时间】:2010-10-07 11:10:24 【问题描述】:

Ericsson 的 Erlang 和 Erlang/OTP 实现是用什么编写和编译的?是汇编、C 还是 Erlang 本身?

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

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

VM 和 HW 交互驱动程序:在 C 中。 编译器(到 VM)和库:在 Erlang 中。 扩展:可以在任何语言中通过用该语言编写端口或 Erlang 节点来实现。

【问题讨论】:

Erlang 是开源的。去看看代码看看吧! 【参考方案1】:

Erlang 本身是用 Erlang 编写的。听起来很奇怪?是的,因为它只是部分正确。 OK,再详细看一下:

    Erlang 预处理器是用 Erlang 编写的。 Erlang 解析器是用 Erlang 编写的。 BEAM(字节码 VM)的 Erlang 编译器是用 Erlang 编写的。 到 HiPE(本地 VM 扩展)的 Erlang 编译器是用 Erlang 编写的。 Erlang VM BEAM 和 HiPE 主要用 C 编写。 链接的驱动程序主要是用 C 语言编写的。(它们插入 VM 并用于与外部世界的通信。) OTP 是用 Erlang 编写的。 其他端口或节点可以用任何语言编写。

【讨论】:

【参考方案2】:

来自Erlang FAQ:

10.6 第一个 Erlang 编译器是如何编写的?

(或:Erlang 是如何引导的?)在 乔的话:

首先我设计了一个抽象机器 执行 Erlang。这被称为 果酱机;果酱 = 乔的摘要 机器。

然后我从 Erlang 编写了一个编译器 JAM 和模拟器看看 机器工作。这两个都是 写在序言中。

与此同时,迈克·威廉姆斯写了一篇 JAM 的 C 模拟器。

然后我重写了 erlang-to-jam Erlang中的编译器并使用了序言 编译器来编译它。结果 目标代码在 C 模拟器中运行。 然后我们扔掉了prolog。

【讨论】:

谢谢!这句话的出处是什么?【参考方案3】: 65.9% 的 Erlang 代码是用 Erlang 编写的。 13.4% 的 erlang 是用 XML 编写的。 13.6% 的 erlang 是用 C 编写的。 1.4% 的 erlang 是用 C++ 编写的 ...

您可以在ohloh 站点查看实时和更新统计信息,此报告从主 erlang git 存储库生成。

【讨论】:

我只是好奇哪些部分是用 c++ 编写的。 @csyangchen none,这是行计数器文件类型检测中的误报。 部分 WX 绑定是用 C++ 编写的。【参考方案4】:

我可以说 Erlang 最初是用 C/C++ 编写的 我不能说 Java 是用 java 编写的......但它是框架和 一些图书馆。 关于 Erlang,因为它是首选的编程语言,适合 对于电信系统...为了保持敏捷(例如:在聊天机器人中) 我知道它的编译器或预处理器是用 Erlang 编写的。 但是语言的其他特性是用低级语言编写的。

【讨论】:

以上是关于请问LISP编程语言的编译器是用啥语言编写的?的主要内容,如果未能解决你的问题,请参考以下文章

仙剑奇侠传5是用啥编程语言编写的?

脚本是啥,用啥语言编写

现在一般的软件是用啥语言编写的?

股票行情软件是用啥语言编写的?

在发明电脑时,BIOS程序是用啥语言写的?BIOS程序是如何执行的?其原理是啥?

现在一些大型游戏,如传奇、魔兽世界等是用啥编程语言编出来的