有谁知道包含典型编译器课程的在线课程/大学讲座?我有计算理论,但不幸的是我的学校没有提供编译器构造课程。
我知道那里有讲座;我希望能推荐一些特别好的产品。
另外,是否有适合该领域新手的书籍?至少除了龙书之外的东西。初学者水平还可以,我知道市面上有很多中高级教材。
谢谢!
有谁知道包含典型编译器课程的在线课程/大学讲座?我有计算理论,但不幸的是我的学校没有提供编译器构造课程。
我知道那里有讲座;我希望能推荐一些特别好的产品。
另外,是否有适合该领域新手的书籍?至少除了龙书之外的东西。初学者水平还可以,我知道市面上有很多中高级教材。
谢谢!
编辑:如果这个 SO 问题没有关闭,请检查这个重复的 SO 帖子,它以更详尽的方式回答了这个问题。
麻省理工学院 OpenCourseWare 网站上的一些资源:
6.035 计算机语言工程
6.827 多线程并行:语言和编译器
前者可能与您的想法一致。它还包括一些讲座的视频。
后者...肯定是研究生水平的课程。与传统的编译链相比,也更关注多线程。(但要再次有效地分块代码线程,必须对原始程序中表达的语义有一个不错的掌握......)
你可以看看这个课程:http ://ecee.colorado.edu/ecen4553
课程信息
像 Python 这样的高级编程语言让编程变得轻而易举,但它们是如何工作的呢?Python 和现代计算机的机器指令之间存在很大差距。了解如何将 Python 程序一直翻译成 Intel x86 汇编语言。
大多数编译器课程一次教授编译器的一个阶段,例如解析、语义分析和寄存器分配。这种方法的问题是很难理解整个编译器是如何组合在一起的,以及为什么每个阶段都是这样设计的。相反,每周我们都会实现一个更大的 Python 语言子集。第一个子集是一种很小的算术语句语言,当我们完成时,该语言包括对象、继承和一等函数。
先决条件:流利地使用至少一种编程语言(Java、C、C++、Python 等)。学生将使用 Python 进行大量编程,但不需要 Python 的先验知识。该课程将从 Python 速成课程开始,Python 是最容易学习的语言之一。汇编语言的先验知识会有所帮助,但不是必需的。
看看这个http://scheme2006.cs.uchicago.edu/11-ghuloum.pdf ;)
这是一个非常基本的介绍,您知道现代编译器确实有些复杂。