1
keelii 2017-07-03 09:52:50 +08:00
|
2
tuteng 2017-07-03 09:54:08 +08:00 1
|
3
josephpei 2017-07-03 10:01:47 +08:00 1
斯坦福大学幕课 编译器,理论加编程作业,实现一个教学语言编译器,从词法分析到代码生成与优化(需要学习汇编呦)
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 1
编译器最好不要用脚本语言写,虽然很舒服。 不过学不到什么东西的。
我的编译原理课程就是全部用 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 1
|
18
miaoever 2017-07-03 11:28:50 +08:00 1
以下的书都是我自己看过的:
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 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。 |