跳转至

📔 DCC888 课程学习笔记

1. 笔记目录及其中知识点

1.1 First Part

  • Introduction
  • Control Flow Graph
  • DataFlow Analysis
  • Introduction to Lattice Theory
  • Partial Redundancy Elimination
  • Constraint Based Analysis
  • Pointer Analysis
  • Loop Optimizations
  • Static Single Assignment Form
  • Sparse Abstract Interpretation
  • Tainted Flow Analysis

1.2 Second Part

  • Range Analysis
  • Program Slicing
  • Predictive Compilation
  • Operational Semantics
  • Type Systems
  • Proving Metatheorems with Twelf
  • Type Inference
  • Just-In-Time Compilers
  • Register Allocation
  • SSA-Based Register Allocation
  • Correctness
  • Divergence Analysis

2. 内容说明

课程笔记部分, 只做学习笔记更新,不做exercise部分的更新 。个人是使用ipad来直接对文档进行做作业。也可以自己打印之后进行。随你怎么方便进行。

如果看视频课很抽象,难懂,请自行补充基础知识。

  • 编程语言C/C++
  • 数据结构
  • 算法设计分析与技巧 沙特版Book
  • 汇编语言
  • 计算机组成原理
  • 计算机体系结构
  • 线性代数
  • 离散数学

按照 《编译原理》龙书的介绍,需要有最基本的三门课程基础:

  • 程序语言
  • 数据结构与算法
  • 离散数学

请自行补充知识点学习,内容不过多在dcc888系列中做学习笔记记录。

另外课程中使用 llvm ,所以请自行学习视频课:https://www.youtube.com/playlist?list=PLDSTpI7ZVmVnvqtebWnnI8YeB8bJoGOyv

非常忠心感谢 西班牙Professor : Fernando Magno Quintao Pereira 开源的编译器课程,让编译器的学习更加的方便和入门。

3. 参考资料