
1 keelii 2017-07-03 09:52:50 +08:00 |
2 tuteng 2017-07-03 09:54:08 +08:00 |
3 josephpei 2017-07-03 10:01:47 +08:00 斯坦福大学幕课 编译器,理论加编程作业,实现一个教学语言编译器,从词法分析到代码生成与优化(需要学习汇编呦) https://lagunita.stanford.edu/courses/Engineering/Compilers/Fall2014/about |
4 johnlui 2017-07-03 10:17:41 +08:00 给一楼跪了。。。。 奉劝新人不要第一门语言选 js,会走上邪路的。。。。 |
5 atempcode 2017-07-03 10:22:33 +08:00 |
6 SuperMild 2017-07-03 10:33:01 +08:00 最经典的是龙书吧 |
7 lyram 2017-07-03 10:41:57 +08:00 小叶子?~ |
8 Pyjamas 2017-07-03 10:44:10 +08:00 我看着 LLVM 的教程写了个前端,还没优化 [LLVM 教程_CN]( http://llvm-tutorial-cn.readthedocs.io/en/latest/chapter-1.html) [LLVM 教程_EN]( http://llvm.org/docs/tutorial/LangImpl01.html) 还有这个我没怎么看过的 http://compilers.iecc.com/crenshaw/ |
9 zdkmygod 2017-07-03 10:49:20 +08:00 入门难度的话就《自制编译器》,日本人的书很多细节都描述到了,适合入门。 |
10 Kilerd 2017-07-03 10:49:54 +08:00 编译器最好不要用脚本语言写,虽然很舒服。 不过学不到什么东西的。 我的编译原理课程就是全部用 python 写的,写起来贼快。 可是,思路完全跟 用 C 艹 写出来的不一样。 |
11 Shura 2017-07-03 10:50:26 +08:00 via Android |
12 onemach 2017-07-03 10:58:33 +08:00 via iPhone 左鲸右虎中恶龙 |
13 bombless 2017-07-03 10:59:59 +08:00 以前莱大学编的一本编译器工程不错的 前端后端都有 |
14 lrxiao 2017-07-03 11:11:20 +08:00 怎么感觉都是前端...求后端优化 /字节码生成的教程 |
15 aidchow 2017-07-03 11:15:26 +08:00 via Android 明天编译原理期末考试 |
16 Pyjamas 2017-07-03 11:17:18 +08:00 |
18 miaoever 2017-07-03 11:28:50 +08:00 以下的书都是我自己看过的: 1.纯入门的话,推荐 <自制编译器> 作者: [日] 青木峰郎 这本书用 Java 完整实现一个类C语法的可生成汇编代码的编译器。好处在于非常注重实战,但是又适度的介绍了相关的理论知识,对形成编译器整体的概念有很好的帮助。更好的是,对于大部分程序员日常的需求(比如工作中写个 DSL, 写特定格式文件的 Parser 等等)来说,掌握本书所讲的内容及工程实践基本能够应对了。 2.<编译原理及实践> 作者: Kenneth C.Louden 这本是我们的教材。这本书最大的缺点在于中文翻译极其差。但是就书本身来说,实现了一个简化的 C 语言编译器, 理论部分也讲得通俗易懂,特别是对于前端相关的知识相对于龙书来说详略得当,对初学者相当友好。相对于上一本来说,由于是编译原理教材,会更多的涉及相关的理论知识,适合为深入的学习编译器相关内容做理论铺垫。 3.<编译器设计> 作者: Keith Cooper / Linda Torczon 这本书对编译器后端的知识覆盖的非常好,我是通过这本书开始比较完整系统的入门了后端相关的内容(之前看过龙书没怎么看懂)。作为<编译原理及实践>之后的学习材料,我个人认为非常合适。 根据我个人的感受,按照以上三本书的路径循序渐进的入门是比较合适的。另外,以上的内容看着很多,其实真正入门后学起来很快,特别是前两本书的内容(更偏重前端),我相信如果是在校学生的话,一个暑假的时间搞定前两本不是不可能的。 |
19 gomars 2017-07-03 12:34:05 +08:00 洗洗睡了吧,基础不好还写编译器? |
20 daimao &bsp;2017-07-03 12:48:06 +08:00 建议跟着这几门课学一下 15-213 还有 15-411 |
21 neoblackcap 2017-07-03 16:15:48 +08:00 推荐 18 楼的书,不过我觉得《自制编译器》还是省略了一部分,比如他们是用 JavaCC 跳过了手写 parser 这些内容,所以我建议读《编译器设计》,很不错的一本书。 |
22 araraloren 2017-07-03 16:32:48 +08:00 mark 一下,看起来挺有意思的。。 |
23 halfcoder 2017-07-03 17:03:52 +08:00 感觉你需要的不只是一个编译器,而是一整套: 《自制编程语言》 前桥和弥 (Maebasi Kazuya) |
24 wshcdr 2017-07-03 19:13:27 +08:00 关注一下 |
25 exiahan 2017-07-03 19:35:07 +08:00 via Android 当然是看龙虎豹啦( ω)(雾,其实是龙虎鲸),不过我感觉虎好点,龙看得话太抽象了,而且中文版翻译很渣。另外有本叫编译器设计( compiler engineer )也很不错,和虎的讨论很像但是讲的更细。 |
27 caokeck 2017-07-03 19:58:24 +08:00 via Android 可以先看 sicp,然后撸个解释器 |
28 kuno1 2017-07-04 08:12:01 +08:00 http://www.craftinginterpreters.com/ Java 和 C 的两个版本,来自 google Dart 语言作者 Bob Nystrom 代码在 https://github.com/munificent/craftinginterpreters |
29 laihaotao 2017-07-04 12:41:09 +08:00 给一个我的编译器课的项目地址: https://github.com/LAIHAOTAO/COMP6421/ 这是我老板的课,上得还挺好的,作业是撸一个 compiler。 |