Skip to content

Programming-Language-Research/compiler_course_info

 
 

Repository files navigation

README

清华大学编译原理课程(2018秋季)

计算机专业主干课, 编译程序(系统)是计算机系统的核心支撑软件, 贯穿程序语言、运行时系统、体系结构, 联系计算机科学和计算机系统的典范。

教师

助教

教学目的

掌握编译程序/系统设计的基本原理;掌握“常见”语言机制的实现技术;经历开发一个小型编译程序的主要阶段;自学并使用自动构造工具;加深对计算机系统的理解;会将所学知识灵活应用。

先修课程

  • 《程序设计》(Java, C/C++)
  • 《数据结构》
  • 《形式语言与自动机》(optional)

时间地点

2018-09-19 至 2019-01-04

  • 每周三下午 3:20-4:55,五教5305 (陈,姚)
  • 每周五上午 8:00-9:35,二教 403 (王,姚)

本课程学习流程(for拿清华学分的同学)

  for (i=1; i<=16; i++) {
    1. 预习(optional)
    2. 完成第i周作业(optional)
    3. 上课听讲,提问/被提问
    4. 在deadline前,按序完成compiler_lab实验
    5. 复习,做课后练习,if (碰到问题) 到微信/网络学堂上提问;
    6. 在考试周参加期末考试;
    }

课程参考书

  • Compilers:Principles, Techniques, and Tools, Alfred V.Aho, Ravi Sethi, Jeffrey D.Ullman, Addison Wesley, 2007(龙书)
  • Crafting a Compiler, Charles N. Fischer, Ronald K.Cytron, Richard J. LeBlanc, Jr., 2010.
  • Modern Compiler Implementation in Java/C Andrew W.Appel,2005 (虎书)
  • Advanced Compiler Design and Implementation,Steven S. Muchnick, 1997(鲸书)
  • The Theory of Parsing, Translation, and Compiling,John E. Hopcroft, Jefferey D. Ullman,   Volume 1 & Volume 2 Prentice-Hall Series in Automatic Computation,1972
  • 国内的编译原理教材

ReadingList 编译原理课拓展实验

希望看看编译技术如何用在科研方面的同学可看看相关论文和对应的project 相关内容可以与老师协商作为拓展实验(占100分外的5分)

Releases

No releases published

Packages

No packages published

Languages

  • HTML 41.4%
  • CSS 41.1%
  • JavaScript 10.1%
  • Ruby 5.6%
  • Liquid 1.8%