Compiler construction Lisp编译器设计

Compiler construction Lisp编译器设计,compiler-construction,lisp,Compiler Construction,Lisp,我在找一本编译器设计书。我在大学里学的;但讲座从来不是为我准备的。此外,在我的大学里,他们没有做太多的实际工作。我相信,即使我认真学习有限自动机和编译器设计的课程,我也不会知道如何实现编译器。因此,我正在寻找有关实现编译器的书籍。我觉得“现代编译器实现”很好。它有三种语言可供选择,我选择了C语言书,因为C语言是一种小型语言,我要做的事情更多,在做的过程中要学的东西也更多。然而,我想学习为Lisp或python设计编译器的课程[可能也使用相同的语言];但我找不到太多可用的材料。Lisp是一种古老的

我在找一本编译器设计书。我在大学里学的;但讲座从来不是为我准备的。此外,在我的大学里,他们没有做太多的实际工作。我相信,即使我认真学习有限自动机和编译器设计的课程,我也不会知道如何实现编译器。因此,我正在寻找有关实现编译器的书籍。我觉得“现代编译器实现”很好。它有三种语言可供选择,我选择了C语言书,因为C语言是一种小型语言,我要做的事情更多,在做的过程中要学的东西也更多。然而,我想学习为Lisp或python设计编译器的课程[可能也使用相同的语言];但我找不到太多可用的材料。Lisp是一种古老的语言,应该有一些关于为它设计编译器的文档。我需要你的建议


谢谢。

这并不完全适用于Lisp,而是Scheme(Lisp的一个派生版本),但是我们在我的编程语言课程中使用了这个免费的(如啤酒)文本。以下是链接:


但是,请记住,他们正在教如何用Scheme编写Scheme解释器。一开始它会让你的思维纠结,但过一会儿它就会变得清晰。我不确定这是否是您正在寻找的,但这是一个开始,并说明了一些更重要的事情需要考虑。

我从未读过它,但有一本书叫做《小片段Lisp》,它应该非常适合您的目的。

可能是关于实现Lisp的最好的书。强烈推荐。可能通过一些旧书服务提供。它可能很贵,即使是一本旧书。这是法语原文的翻译。还有一个法文修订版,可惜还没有翻译成英文

我还推荐彼得·诺维格。它包含用公共Lisp编写的Scheme编译器的描述。一般来说,这是一本优秀的书

也可以在上看到这个博客


对于CommonLisp,有一些文章可用,一些常见的Lisp编译器附带了一些实现和编译器内部的文档。通常,编译器不能单独查看,但应与编译到的运行时(GC、指令集、内存管理、线程、FFI接口等)结合使用。例如,请参见。

这里是Scheme的编译器设计的一个很好的概述:。这是一篇很短的文章,描述了如何“从头开始”为Scheme构建机器代码编译器。

按顺序学习这些书:


  • 一旦您的基本Lisp系统开始工作,您可能希望在此基础上实现“专用语言”。然后像这样的书就成为了一个重要的参考。

    规范编译器资源问题是。我喜欢编写Scheme/Lisp编译器的想法,因为你不必处理所有的词法分析和语法分析,构造和语法也相对简单。@erijang:one'only'必须实现机器来读取某种形式的s表达式,实现一些特殊的表单(比如30)和一个宏系统。关于后者的文献很多。SICP怎么样?最后的视频和章节都为堆栈机器编译了LISP。我发现这非常有用: