2

我已经注册了一个关于编译器的课程,但是感觉非常没有准备,因为我完全不知道这个类可能需要什么或者它可能需要什么。 。了解编译器的必备条件?

什么需要阅读你会建议我在休息时阅读,以便能够充分利用课堂?

(PS - 是的,我已经下令龙书)

+1

告诉我们更多的背景知识,以及关于课程的信息。本科或研究生课程?你是计算机科学专业吗?除此之外,你可能真的想要适应递归 - 编译器都是递归的。 – 2011-12-14 01:40:18

+0

是的,我可以用递归(感谢racket),并且对BNF语法和调用栈等有一个基本的理解,我想我主要关心的是学习编译器涉及钻研微积分/离散数学相关的东西还是别人可能没有想到的东西第一次。另外,Comp sci专业,本科。 – sri 2011-12-14 01:49:23

回答

1

我喜欢龙书,它有很多很好的细节,但我认为它跳了一下周围。

Language Implementation Patterns作者:Terance Parr是另一个不错的选择。它更侧重于ANTLR,但它的想法是普遍的,我认为Parr做了一个出色的工作,激发了具有实际语言特性的更强大的解析器技术。

但我不会担心它太多 - 毕竟,课程的一部分原因是,将为您提供有关该主题的经验。

1

只是想分享我的经验。我也编写了一门关于编译器的课程,发现它很困难。您可能需要了解并执行以下基本操作: 解析输入程序并检测其中的错误,构建抽象语法树,语义检查和代码生成。然而,我不认为它对大多数CS学生来说都是一个重要的知识。