如何学习编译原理?

编译原理国外有cs143这门神课,b站有up主搬运过:【CS143 斯坦福大学编译原理【中文字幕】-哔哩哔哩】b23.tv/bmgdwI

另外近年来编译器领域比较热门的项目就是llvm了,里面有一些练手的项目,文档也比较详细:llvm.org/

个人经验可以先跟着llvm的入门教程,写一下简单的编译器,大概1000行代码的样子;然后对照着cs143来看效果可能更好一些。

答主是先学了cs143然后最近在跟llvm教程,顺便也对llvm入门教程做了一个翻译:

感兴趣的话可以关注下,点个赞就更好了。

不过受限于个人水平,翻译效果可能不那么理想,计划翻译完后开源,感兴趣可以一起来完善下。

———————分割线———————

更新下:发现北航有个编译器课程也不错,不知道有没有对应的课程视频:buaa-se-compiling.github.io

———————分割线———————

2021.11.13更新:

趁着周末,仓促赶了一版llvm入门教程的翻译,放在github了,欢迎感兴趣的朋友一起完善:github.com/hunterzju/ll

(第一版问题可能比较多,还请见谅,有不对的地方欢迎指出)

———————分割线———————

2021.12.01更新(感谢各位的赞):

纸上得来终觉浅,觉知此事要躬行。最近跟着llvm和mlir的tutorial折腾了一段时间后,大概熟悉了基本框架,接下来计划跟踪一些llvm社区的开发项目,先通过codereview做一些学习,希望逐渐能为社区贡献一些patch。

如何在llvm社区做codereview还是有一些坑的,简单做了个记录,送给有需要的人:

编辑于 2021-12-19 10:25

Published

Category

Zhihu

Tags