请问LISP编程语言的编译器是用啥语言编写的?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问LISP编程语言的编译器是用啥语言编写的?相关的知识,希望对你有一定的参考价值。
比如Racket,Common LISP等LISP方言的编译器,是用什么语言编写的?我在网上找不到答案。
LISP(全名LISt Processor,即链表处理语言),由约翰·麦卡锡在1960年左右创造的一种基于λ演算的函数式编程语言。 ——百度百科使一种函数编程语言,曾被用于人工智能,语言都是一些符号,函数,很简单的语言(因此也做不出什么程序来或是很难做出,更别谈人工智能),不需要英语基础。追问
看来你连问题都没看懂。
我知道LISP是什么。
我想知道的是LISP的编译器是用什么语言做出来的。
注意,“LISP的编译器”是用“什么语言”做出来的。。。
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编程语言的编译器是用啥语言编写的?的主要内容,如果未能解决你的问题,请参考以下文章