编译器设计和施工课程

ubi*_*con 6 compiler-construction

今年秋天,我将为我的硕士课程开设几门课程,其中一门课程是编译器设计和构建.我非常精通大多数与计算机技术有关的事情,但我对编译器如何处理脏问题没有多少经验,我只是在需要时使用它们.我通常不会对课程感到紧张,但我觉得我正在裸体地走进这个课程.如果任何人都可以推荐一些好的阅读或提供的,我可以研究,使我加快速度基本原则的简短列表很快我将不胜感激.

更新:

我在课堂上很棒,我们使用的教科书实际上非常好. 这个网站还帮助我可视化和测试我的正则表达式(我现在认为这是学习编译器时最好的东西).我很快就掌握了LEX的基础知识,但YACC(出于某种原因)对我来说有点困难.只需在线查看示例,就可以帮助他们.

Ira*_*ter 5

编译器是一个头脑旋转的练习.但是,如果你对数据结构,算法和汇编代码有扎实的把握,并且对于细节的思考有一定的倾向,那么你可能会发现这个类很吸引人,因为它与大多数传统的业务数据处理和/或嵌入都是如此不同.计算.

我确保你的汇编代码背景很好.大多数程序编码器不用于加工指令,寄存器,地址模式和指针.如果你得到那些,教练可能会很好地解释其余的.

如果你不熟悉指针,那么运行不要走到最近的C编译器并编写一堆使用它们的程序.

有关编译器不具备的一些背景知识,请参阅 编写编译器......什么是对的,什么是错的?

如果你想要一个非常有趣的练习,你可以学习MetaII,这是如何构建一个编译器,用一个非常少的努力构建编译器.有一篇关于如何做到这一点的10页论文在中间有一个令人兴奋的时刻,你突然看到编译器如何编译自己.这里有一个MetaII教程(附论文):

http://www.bayfronttechnologies.com/mc_tutorial.html