自学编译器课程/好的入门编译器书籍?

Posted

技术标签:

【中文标题】自学编译器课程/好的入门编译器书籍?【英文标题】:self-taught compiler courses / good introductory compiler books? 【发布时间】:2010-12-06 05:17:41 【问题描述】:

有人知道包含典型编译器课程的在线课程/大学讲座吗?我有计算理论,但不幸的是我的学校没有提供编译器构造课程。

我知道那里有讲座;我希望能推荐一些特别好的产品。

另外,是否有适合该领域新手的书籍?至少除了龙书之外的东西。初级水平还行,我知道市面上有很多中高级教材。

谢谢!

【问题讨论】:

重复(多次)***.com/questions/1669/learning-to-write-a-compiler 和其他人 我从未见过比 Dragon 书中更好的编译解释。你可以做的比坚持下去更糟糕。 我不同意。我认为 Andrew Appel 的 ML,Java,C 中的现代编译器实现比 Dragon 的书要好。龙书可以作为参考,但我认为如果你是在寻找纯粹的自主学习,Modern Compiler Implementation是一个更完整和连贯的工作。 Learning Resources on Parsers, Interpreters, and Compilers的可能重复 【参考方案1】:

编辑:如果这个 SO 问题没有关闭,请检查这个duplicate SO posting,它以更详尽的方式回答了这个问题。

麻省理工学院 OpenCourseWare 网站上的一些资源:

6.035 Computer Language Engineering6.827 Multithreaded Parallelism: Languages and Compilers

前者可能与您的想法一致。它还包括一些讲座的视频。 后者...肯定是研究生水平的课程。与传统的编译链相比,也更关注多线程。 (但要再次有效地分块代码线程,必须对原始程序中表达的语义有一个不错的掌握......)

【讨论】:

有人从那个重复的 SO 帖子中得到答案吗?由于审核原因,它已被删除。【参考方案2】:

你可以看看这个课程:http://ecee.colorado.edu/ecen4553

课程信息

高级编程语言,例如 Python 让编程变得轻而易举,但是 他们是如何工作的?有很大的差距 Python和机器之间 现代计算机的指令。 学习如何翻译 Python 程序 一直到 Intel x86 组装 语言。

大多数编译器课程都教授一个阶段 编译器一次,例如 解析、语义分析和 寄存器分配。问题与 这种方法很难 了解整个编译器如何适应 在一起,为什么每个阶段是 设计的方式。相反,每个 一周我们陆续实施了 Python 语言的更大子集。 第一个子集很小 算术语句的语言,和 当我们完成语言的时候 包括对象、继承和 一流的功能。

先决条件:至少精通一门 编程语言(Java、C、C++、 蟒蛇等)。学生会做很多事情 使用 Python 进行编程,但在此之前 不需要 Python 知识。 课程将从崩溃开始 Python 和 Python 课程是其中之一 最容易学习的语言。事先的 汇编语言知识 有帮助,但不是必需的。

【讨论】:

感谢您的链接。我得看看他在网上的课程信息是否比网站上显示的多——看起来很多讲座材料要么不存在,要么隐藏在公众视野之外。 @prasopes,谢谢。我添加了一个没有年份的链接,因为它将来可能会再次断开。【参考方案3】:

看看这个http://scheme2006.cs.uchicago.edu/11-ghuloum.pdf ;)

这是一个非常基本的介绍,您知道现代编译器确实有些复杂。

【讨论】:

以上是关于自学编译器课程/好的入门编译器书籍?的主要内容,如果未能解决你的问题,请参考以下文章

我想自学C++编程,请问需要给电脑安装啥软件?

机器学习编译入门课程学习笔记第一讲 机器学习编译概述

新手自学java第二课

QT怎么入门

MFC入门书籍

想要自学Java编程,有啥书籍推荐么?