怎么开始动手自己写一个编译器,编译器的理论学习该从何处下手?

2017-07-03 09:47:28 +08:00
 pythonee
当初不好好学习,基础性的东西还是太少,想补回来
现在还是想 from scratch 的学一下,想实现把一份源代码到可执行文件串起来
不知各位有什么好的学习路径,有哪些好的视频或教学系列吗
8063 次点击
所在节点    程序员
29 条回复
neoblackcap
2017-07-03 16:15:48 +08:00
推荐 18 楼的书,不过我觉得《自制编译器》还是省略了一部分,比如他们是用 JavaCC 跳过了手写 parser 这些内容,所以我建议读《编译器设计》,很不错的一本书。
araraloren
2017-07-03 16:32:48 +08:00
mark 一下,看起来挺有意思的。。
halfcoder
2017-07-03 17:03:52 +08:00
感觉你需要的不只是一个编译器,而是一整套:
《自制编程语言》 前桥和弥 (Maebasi Kazuya)
wshcdr
2017-07-03 19:13:27 +08:00
关注一下
exiahan
2017-07-03 19:35:07 +08:00
当然是看龙虎豹啦( ・ิω・ิ)(雾,其实是龙虎鲸),不过我感觉虎好点,龙看得话太抽象了,而且中文版翻译很渣。另外有本叫编译器设计( compiler engineer )也很不错,和虎的讨论很像但是讲的更细。
exiahan
2017-07-03 19:43:05 +08:00
@exiahan 写错了书名,编译器设计( Engineering a compiler )
caokeck
2017-07-03 19:58:24 +08:00
可以先看 sicp,然后撸个解释器
kuno1
2017-07-04 08:12:01 +08:00
http://www.craftinginterpreters.com/

Java 和 C 的两个版本,来自 google Dart 语言作者 Bob Nystrom

代码在
https://github.com/munificent/craftinginterpreters
laihaotao
2017-07-04 12:41:09 +08:00
给一个我的编译器课的项目地址: https://github.com/LAIHAOTAO/COMP6421/
这是我老板的课,上得还挺好的,作业是撸一个 compiler。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/372589

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX