资讯专栏INFORMATION COLUMN

如何学习编译原理

melody_lql / 489人阅读

摘要:对于没有计算机科学基础知识的程序员或初学者来说一上来就看龙书虎书是行不通的全是理论知识看得想睡觉我还试过看网易云大学计算机专业的编译原理课程也是看得一头雾水看到多讲就看不下去了另外计算机程序的构造和解释这本很多人推荐的书其实并不适合初学者前

对于没有计算机科学基础知识的程序员或初学者来说 一上来就看龙书 虎书是行不通的 全是理论知识 看得想睡觉
我还试过看网易云大学计算机专业的编译原理课程 也是看得一头雾水 看到80多讲就看不下去了

另外 SICP(计算机程序的构造和解释)这本很多人推荐的书其实并不适合初学者 前3章和后面几章难度差别有点大 可能是自己水平不行 看SICP解释器和编译器那两章也是看不懂 虽然强迫自己看完 但是最后还是不懂编译原理到底是怎么回事

不过 后来我还是通过学习一本书的知识 写出来了一个简单的编译器 注意 是真正动手写出来了一个编译器 不是停留在理论阶段

这本书简单 通俗易懂 对计算机体系知识有一个较全面的介绍 而你只需要会一门编译语言就行了 它就是

《计算机系统要素》

这本书前面5章讲的是硬件知识 虽然跟编译原理没什么关系 但是对于了解计算机硬件知识是很有用的 重点是通俗易懂
后面的章节就是和编译原理有关的知识了
书里的内容介绍了

汇编编译器(将汇编语言翻译为机器语言)

VM编译器(将虚拟机语言翻译为汇编语言)

编译器(将高级语言翻译为虚拟机语言)

不要看到有3个编译器就觉得难 其实相对于上面介绍的书籍 算是非常简单了
我大概花了1个多月的时间完成了这本书的所有项目 最终写出了一个编译器 算是对编译原理有了一个比较全面但不深入的了解吧 这个时候再去看龙书 虎书 就不会感觉很吃力了
附上我完成这本书所有项目的答案
https://github.com/woai3c/nan...

再最后说一句 这本书的内容真的是通俗易懂!通俗易懂!通俗易懂!

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/100945.html

相关文章

  • 你和阿里资深架构师之间,差的不仅仅是年龄(进阶必看)

    摘要:导读阅读本文需要有足够的时间,笔者会由浅到深带你一步一步了解一个资深架构师所要掌握的各类知识点,你也可以按照文章中所列的知识体系对比自身,对自己进行查漏补缺,觉得本文对你有帮助的话,可以点赞关注一下。目录一基础篇二进阶篇三高级篇四架构篇五扩 导读:阅读本文需要有足够的时间,笔者会由浅到深带你一步一步了解一个资深架构师所要掌握的各类知识点,你也可以按照文章中所列的知识体系对比自身,对自己...

    huaixiaoz 评论0 收藏0
  • 从表到里学习JVM实现

    在社会化分工、软件行业细分专业化的趋势下,会真的参与到底层系统实现的人肯定是越来越少(比例上说)。真的会参与到JVM实现的人肯定是少数。 但如果您对JVM是如何实现的有兴趣、充满好奇,却苦于没有足够系统的知识去深入,那么可以参考RednaxelaFX整理的这个书单。 showImg(http://segmentfault.com/img/bVbGzn); 本豆列的脉络是:    1. JV...

    Cristic 评论0 收藏0
  • 重学计算机组成原理(二)- 制定学习路线,攀登“性能”之巅

    摘要:计算机组成中的大量原理和设计,都对应着性能这个词。时间的倒数性能计算机的性能,其实和体力劳动很像,好比是我们要搬东西。对于计算机的性能,我们需要有个标准来衡量。花的时间越少,自然性能就越好。 0 学习路线的知识点概括 showImg(https://segmentfault.com/img/remote/1460000020031616?w=3832&h=2540); 学习计算机组成原...

    DrizzleX 评论0 收藏0
  • 如何开始学习 V8

    摘要:如果不行的话,不用担心,当你审查错误时会学习到知识的。但是任何人不得不从某处开始,也许你坚持,会在未来看到来自你的变更记录。 本文转载自:众成翻译译者:yu-wj链接:http://www.zcfy.cc/article/3963原文:https://medium.com/dailyjs/how-do-i-get-started-with-v8-development-17e976eb...

    googollee 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<