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

时间:2009-10-13 06:28:21

标签: compiler-construction context-free-grammar dfa

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

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

此外,是否有针对该领域新手的书籍?除了龙书之外,至少还有一些东西。初学者水平很好,我知道市场上有很多中级高级文本。

谢谢!

3 个答案:

答案 0 :(得分:8)

修改:如果此SO问题未解决,请检查duplicate SO posting以更详尽的方式回答问题。

麻省理工学院OpenCourseWare网站上的几个资源:

6.035 Computer Language Engineering
6.827 Multithreaded Parallelism: Languages and Compilers

前者可能与你想到的一致。它还包括一些讲座的视频 后者......积极参加研究生课程。与传统的编译链相比,重点更多地放在多线程上。 (但是,再次对块代码线程进行有效处理,必须对原始程序中表达的语义有一个正确的把握......)

答案 1 :(得分:5)

您可以查看此课程:http://ecee.colorado.edu/ecen4553

  

课程信息

     

高级编程语言   Python使编程变得轻而易举,但是   它们是如何工作的?差距很大   Python和机器之间   现代计算机的说明。   学习如何翻译Python程序   一直到英特尔x86组装   语言。

     

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

     

先决条件:至少流利一次   编程语言(Java,C,C ++,   Python等)。学生会做很多事情   用Python编程,但先前   不需要Python的知识。   课程将从崩溃开始   关于Python和Python的课程是其中之一   最容易学习的语言。先   汇编语言的知识   有帮助,但不是必需的。

答案 2 :(得分:4)

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

这是一个非常基本的介绍,你知道现代编译器有点复杂。