跳转至

USTC: Principles and Techniques of Compiler

课程简介

  • 所属大学:中国科学技术大学
  • 先修要求:数据结构、计算机系统基础、C++ 编程基础
  • 编程语言:C++
  • 课程难度:🌟🌟🌟🌟
  • 预计学时:100小时

这门课程的理论部分内容广泛,既涵盖了传统编译原理课程的词法分析、语法分析、语法制导翻译、中间代码翻译,又覆盖了运行时管理、机器无关与面向机器的代码优化。实验部分则提供了 C++ 语言编写的Cminusf编译器框架代码,于6个实验中逐步构建一个具备现代完整流程的编译器。与其他编译原理课程的实验不同的是,本课程的实验采用现代LLVM的子集作为中间代码,更具前瞻性,同时包括了后端代码的生成和中间代码优化的部分,堪称国际一流的编译原理课程。

  • 课程实验使用脚本提供全面的自动化测试,并于课程主页提供了完整的教程。
  • 课程包含全套开源的课件、实验框架代码、实验教程,对初学者友好。
  • 课程实验循序渐进,逐渐增加难度,能让不同基础的学生都有收获。
  • 课程实验中Lab1使用Flex和Bison实现编译器前端,Lab2实现LightIR(LLVM子集)中间代码生成,Lab3实现后端代码生成龙芯汇编语言,Lab4实现中间代码优化,Lab5实现机器无关优化,Lab6实现寄存器分配。

课程资源