编译器与语言设计导论
南达科他大学的道格拉斯·塞恩教授。这是一本免费的在线教科书:欢迎直接访问下面的章节PDF。如果您更喜欢纸质书,可以在下面购买精装版或平装本。这本教科书和材料是由道格拉斯·塞恩教授作为南达科他大学CSE 40243编译器课程的一部分开发的。请加入我们的邮件列表,以便接收关于新版本和其他更新的偶尔通知。编译器将用高级语言编写的程序转换为用低级语言编写的程序。对计算机科学的学生来说,从头构建一个编译器是一个通过:这是一个具有挑战性和有趣的项目,有助于深入理解计算机科学的许多不同方面,有些是深奥的理论,有些是高度实用的。这本书提供了一个学期的编译器构建介绍,使读者能够构建一个接受类似C语言的简单编译器,并将其转换为可工作的X86或ARM汇编语言。它最适合那些有一定C语言编程经验,并且修过数据结构和计算机体系结构课程的本科生。第二版 编译器与语言设计,作者允许下载、打印和使用这些PDF用于个人和学术用途。禁止商业打印或分发。请不要将PDF本地复制,而是请指引学生访问此页面(compilerbook.org),以便他们可以访问最新版本。完整书籍单个PDF下载章节0前言 章节1介绍 章节2快速浏览 章节3扫描 章节4解析 章节5实践中的解析 章节6抽象语法树 章节7语义分析 章节8中间表示 章节9内存组织 章节10汇编语言 章节11代码生成 章节12优化 附录A样本课程项目 附录B B小调语言 附录C编码规范 代码资源。compilerbook-examples GitHub存储库包含与书籍对应的其他资源,包括几个扫描器和解析器,项目编译器的起始代码结构,以及扫描器、解析器、类型检查器和代码生成器每个阶段的样本测试用例。错误更正。发现拼写错误或错误吗?请发送电子邮件给作者 `dthain@nd.edu`,标题为“编译器书籍错误”,我会很乐意进行修正,并在下一个版本中感谢您。
本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡