编译技术入门与实战·第三期·2021春季(连载中) https://www.bilibili.com/video/bv14b4y1X7uX
每周五、周六的下午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
编译器入门课程的配套教学资料
视频课程正在持续更新,请根据自己的节奏进行学习。
编译技术是一门工匠艺术,一定是需要动手编程才能学会的。刚看 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 偏实战,用简单和易于实现的实例来描述基本的编译原理及过程