当初不好好学习,基础性的东西还是太少,想补回来
现在还是想 from scratch 的学一下,想实现把一份源代码到可执行文件串起来
不知各位有什么好的学习路径,有哪些好的视频或教学系列吗
现在还是想 from scratch 的学一下,想实现把一份源代码到可执行文件串起来
不知各位有什么好的学习路径,有哪些好的视频或教学系列吗
|
keeliiJul 3, 2017
1
|
|
2
|
|
3
斯坦福大学幕课 编译器,理论加编程作业,实现一个教学语言编译器,从词法分析到代码生成与优化(需要学习汇编呦)
https://lagunita.stanford.edu/courses/Engineering/Compilers/Fall2014/about |
|
johnluiJul 3, 2017
4
给一楼跪了。。。。
奉劝新人不要第一门语言选 js,会走上邪路的。。。。 |
|
atempcodeJul 3, 2017
5
|
|
SuperMildJul 3, 2017
6
最经典的是龙书吧
|
|
lyramJul 3, 2017
7
小叶子?~
|
|
PyjamasJul 3, 2017
8
我看着 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/ |
|
zdkmygodJul 3, 2017
9
入门难度的话就《自制编译器》,日本人的书很多细节都描述到了,适合入门。
|
|
10
编译器最好不要用脚本语言写,虽然很舒服。 不过学不到什么东西的。
我的编译原理课程就是全部用 python 写的,写起来贼快。 可是,思路完全跟 用 C 艹 写出来的不一样。 |
|
ShuraJul 3, 2017 via Android
11
|
|
onemachJul 3, 2017 via iPhone
12
左鲸右虎中恶龙
|
|
bomblessJul 3, 2017
13
以前莱斯大学编的一本编译器工程不错的
前端后端都有 |
|
lrxiaoJul 3, 2017
14
怎么感觉都是前端...求后端优化 /字节码生成的教程
|
|
aidchowJul 3, 2017 via Android
15
明天编译原理期末考试
|
|
16
|
|
18
以下的书都是我自己看过的:
1.纯入门的话,推荐 <自制编译器> 作者: [日] 青木峰郎 这本书用 Java 完整实现一个类C语法的可生成汇编代码的编译器。好处在于非常注重实战,但是又适度的介绍了相关的理论知识,对形成编译器整体的概念有很好的帮助。更好的是,对于大部分程序员日常的需求(比如工作中写个 DSL, 写特定格式文件的 Parser 等等)来说,掌握本书所讲的内容及工程实践基本能够应对了。 2.<编译原理及实践> 作者: Kenneth C.Louden 这本是我们的教材。这本书最大的缺点在于中文翻译极其差。但是就书本身来说,实现了一个简化的 C 语言编译器, 理论部分也讲得通俗易懂,特别是对于前端相关的知识相对于龙书来说详略得当,对初学者相当友好。相对于上一本来说,由于是编译原理教材,会更多的涉及相关的理论知识,适合为深入的学习编译器相关内容做理论铺垫。 3.<编译器设计> 作者: Keith Cooper / Linda Torczon 这本书对编译器后端的知识覆盖的非常好,我是通过这本书开始比较完整系统的入门了后端相关的内容(之前看过龙书没怎么看懂)。作为<编译原理及实践>之后的学习材料,我个人认为非常合适。 根据我个人的感受,按照以上三本书的路径循序渐进的入门是比较合适的。另外,以上的内容看着很多,其实真正入门后学起来很快,特别是前两本书的内容(更偏重前端),我相信如果是在校学生的话,一个暑假的时间搞定前两本不是不可能的。 |
|
gomarsJul 3, 2017
19
洗洗睡了吧,基础不好还写编译器?
|
|
daimaoJul 3, 2017
20
建议跟着这几门课学一下
15-213 还有 15-411 |
|
neoblackcapJul 3, 2017
21
推荐 18 楼的书,不过我觉得《自制编译器》还是省略了一部分,比如他们是用 JavaCC 跳过了手写 parser 这些内容,所以我建议读《编译器设计》,很不错的一本书。
|
|
araralorenJul 3, 2017
22
mark 一下,看起来挺有意思的。。
|
|
halfcoderJul 3, 2017
23
感觉你需要的不只是一个编译器,而是一整套:
《自制编程语言》 前桥和弥 (Maebasi Kazuya) |
|
wshcdrJul 3, 2017
24
关注一下
|
|
exiahanJul 3, 2017 via Android
25
当然是看龙虎豹啦( ・ิω・ิ)(雾,其实是龙虎鲸),不过我感觉虎好点,龙看得话太抽象了,而且中文版翻译很渣。另外有本叫编译器设计( compiler engineer )也很不错,和虎的讨论很像但是讲的更细。
|
|
caokeckJul 3, 2017 via Android
27
可以先看 sicp,然后撸个解释器
|
|
kuno1Jul 4, 2017
28
http://www.craftinginterpreters.com/
Java 和 C 的两个版本,来自 google Dart 语言作者 Bob Nystrom 代码在 https://github.com/munificent/craftinginterpreters |
|
laihaotaoJul 4, 2017
29
给一个我的编译器课的项目地址: https://github.com/LAIHAOTAO/COMP6421/
这是我老板的课,上得还挺好的,作业是撸一个 compiler。 |