作者yoxem (Yoxem)
看板PLT
标题[闲聊] 编译器制作课本:编译的要素
时间Tue Jul 18 21:17:36 2023
这是王垠的老师的徒弟写的用 Racket 做编译器的课本
采用CC BY-NC-ND,所以遵守自由授权可以使用,已经放在网路上,
https://github.com/IUCompilerCourse/Essentials-of-Compilation
(内有教学投影片和课文原始档案)
https://ppt.cc/fs4rdx 个人的备份课本PDF,没灌LaTeX产生的可以用
虽然才读一点点,但感觉可以反映一些王垠提到的思想(因为应该是同一个
源头):
- 编译器要以少渐多制作
- 怎样做一个直译器和教材开头的直译器很像
- 课程似乎没教到Parsing
- 使用Racket的Nanopass技术,将S表达式转换成另一个次语言
- 开头的直译器只用读入资料、加、减、符号、let等(没记错的话)来实作
算是相当精简於重点
总之想要了解的可以参考看看。
不会 Racket S表达式的可以看Python版。
--
"After all, you only find out who is swimming naked when the tide goes out."
(总是,水洘了後,汝才知谁赤裼咧泅水。)
----Warren Buffett, 2001
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 27.96.245.216 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/PLT/M.1689686262.A.7A0.html
1F:→ glo6e: 推 12/25 22:49