/becoming-a-compiler-engineer

编译器入门课程的配套教学资料

Apache License 2.0Apache-2.0

编译技术入门与实战公开课

2021 春季 编译技术入门与实战·第三期

编译技术入门与实战·第三期·2021春季(连载中) https://www.bilibili.com/video/bv14b4y1X7uX

2020 秋季 本学期课程更名为 PLCT编译器设计讨论班(2020秋)

每周五、周六的下午3点到4点之间进行讨论课,线上腾讯会议的形式,欢迎加入讨论。进入方式是添加我(lazyparser)的微信 lazyparser (备注编译课程)进入微信学习群,每次会议的通知会在群里发出来。以及一些资源也会在群里贴出。

  • 第16次讨论:RISC-V ABI 介绍 by 林思南 video
  • 第15次讨论:GCC入门(二)RTL by 陈嘉炜 video
  • 第14次讨论:上手开发GCC-陈嘉炜 video
  • 第13次讨论:RVV-LLVM设计、shecc代码、RISCV反汇编器、EEMBC video
  • 第12次讨论:LLVM栈对齐、shecc libc、zfinx gdb反汇编支持 video
  • 第11次讨论:LLVM寄存器表示、RISC-V指令集学习方法 video
  • 第10次讨论:RV32Emu-Next video
  • 第09次讨论:LLVM GlobalISel、RISC-V Zfinx GNU Impl video
  • 第08次讨论:OpenJ9、LLVM、RISC-V、Zfinx video
  • 第07次讨论:为 rvv-llvm 添加一个 intrinsic (廖春玉) video
  • 第06次讨论:指令选择、Zfinx、MIT作业 video
  • 第05次讨论:Tiger编译器RISC-V后端、MLIR运行GEMM在蜂鸟FPGA评估版上 video
  • 第04次讨论:Register Scavenger、编译优化简介 video
  • 第03次讨论:LLVM、SDT、作业 video
  • 第02次讨论:EaC ch4、LLVM IR、shecc 教学编译器 video
  • 第01次讨论:《编译器设计》前三章回顾 video

2019 秋季

编译器入门课程的配套教学资料

视频课程正在持续更新,请根据自己的节奏进行学习。

编译技术是一门工匠艺术,一定是需要动手编程才能学会的。刚看 slides 和视频是不够的, fork 以下的 codes 仓库,围观六位助教学生的代码实现,并将你自己的代码上传到 GitHub 吧 ❤️

https://github.com/lazyparser/becoming-a-compiler-engineer-codes

所有的课程视频可以通过以下入口访问,后续课程会通过增加分p的方式陆续上传:

https://www.bilibili.com/video/av78503049

本仓库地址是

https://github.com/lazyparser/becoming-a-compiler-engineer

计划更新至2020年8月(受到COVID-19影响延长2个月)。

可以参考的学生作业

https://github.com/wenwensong114/scanner

可以参考的教材:

https://pandolia.net/tinyc/index.html 偏实战,用简单和易于实现的实例来描述基本的编译原理及过程