【问题标题】:Requisites for learning about compilers? [closed]学习编译器的必要条件? [关闭]
【发布时间】:2011-12-14 01:32:48
【问题描述】:

我已经报名参加了春季即将到来的编译器课程,但我感到非常措手不及,因为我完全不知道该课程可能包含什么或可能需要什么。 .

您建议我在休息时间阅读哪些必读内容,以便能够充分利用课程?

(PS - 是的,我已经订购了龙书。)

【问题讨论】:

  • 告诉我们更多你的背景和课程。本科还是研究生课程?你是计算机科学专业的吗?除此之外,您可能真的很想对递归感到满意——编译器都是递归的。
  • 是的,我对递归没问题(感谢球拍)并且对 BNF 语法和调用堆栈等有基本的了解,我想我主要关心的是学习编译器是否涉及钻研微积分/离散数学相关的东西或任何其他人第一次可能不会期待的事情。另外,Comp sci 专业,本科。

标签: compiler-construction computer-science compiler-theory


【解决方案1】:

我喜欢龙之书,它有很多很好的细节,但我觉得它有点跳跃。

Terance Parr 的Language Implementation Patterns 是另一个不错的选择。它更多地关注 ANTLR,但它的想法是通用的,我认为 Parr 做得非常出色,它通过实际语言特性激发了更强大的解析器技术。

但我不会太担心——毕竟,这门课程的部分原因是会为您提供该主题的经验。

【讨论】:

  • “版主可以将一个问题移到另一个问题的答案中吗?” 不,我们不能。
  • @Null:再次感谢您提供的信息! :)
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 2010-09-05
    • 2011-05-29
    • 1970-01-01
    • 2013-07-11
    • 1970-01-01
    • 2010-09-07
    • 1970-01-01
    • 2010-09-23
    • 2020-05-01
    相关资源
    最近更新 更多