2009-10-13 157 views
8

有谁知道包含典型编译器课程的在线课程/大学讲座吗?我有计算理论,但不幸的是,我的学校没有提供编译器构建课程。自学的编译器课程/良好的入门编译器书籍?

我知道那里有讲座;我希望为特别好的产品提供建议。

另外,是否有书籍的新手到外地?至少,除龙书以外的东西。初学者水平很好,我知道市场上有很多中级先进的文本。

谢谢!

+1

重复(很多次)http://stackoverflow.com/questions/1669/learning编写一个编译器等 – cletus 2009-10-13 06:34:41

+0

我从来没有见过比龙书更好的编译解释。你可以做得更糟,而不是坚持下去。 – 2009-10-22 01:38:06

+1

我不同意。我认为Andrew Appel在{ML,Java,C}中的现代编译器实现比Dragon书更好。龙书作为参考很好,但我认为如果你正在寻找纯粹的自我导向学习,Modern Compiler Implementation是一个更加完整和连贯的工作。 – Gian 2009-10-26 10:53:20

回答

8

编辑:在这种情况下,SO的问题并没有得到封闭,做检查这duplicate SO posting它回答了一个更详尽的方式的问题。

麻省理工学院的开放式课程网站一对夫妇ressources的:

6.035 Computer Language Engineering
6.827 Multithreaded Parallelism: Languages and Compilers

可能沿着你脑子里什么线路前者。它还包括一些讲座的视频。
后者...肯定是研究生水平的课程。与传统的编译链相比,重点更多地放在多线程上。 (但是为了有效地对代码线程进行块化,必须对原始程序中表达的语义有一个体面的把握......)

+0

有人从那份重复的SO帖子中得到答案吗?由于审核原因,它已被删除。 – TravisG 2012-04-04 16:34:19

5

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

课程信息

高级编程语言一样 的Python使编程变得轻而易举,但 他们是如何工作的?现代计算机的Python和机器 指令之间有很大差距 。 了解如何将Python程序 一路转换为Intel x86程序集 语言。

大多数编译课程教导在一个时间编译器的一个相 ,如 解析,语义分析,并 寄存器分配。 这个方法的问题是难以理解整个编译器如何将 合在一起以及为什么每个阶段都是按照原样设计的。相反,每个我们实现一个连续的 Python语言的更大的子集。 第一个子集是一个很小的 算术语句语言,而 当时我们完成语言 包括对象,继承和 一等功能。

先决条件:流利至少一种编程语言(Java,C,C++, Python等)。学生们将在Python中编程很多 ,但之前的 不需要Python的知识。 该课程将以崩溃开始 课程关于Python和Python是最容易学习的语言之一 。以前的 知识的汇编语言 帮助,但不是必需的。

+0

感谢您的链接。我必须看看他是否有更多的在线课程信息,而不是网站上的信息 - 看起来很多讲座材料要么不在公开视野之外。 – larryq 2009-10-14 02:16:47

+0

新链接:http://ecee.colorado.edu/ecen4553/fall10/ – prasopes 2013-06-14 12:47:56

+1

@prasopes,谢谢。我添加了一个没有年份的链接,因为它可能在未来再次破解。 – 2013-06-14 14:08:04