如何学习编译原理

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

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

不过 后来我仍是经过学习一本书的知识 写出来了一个简单的编译器 这本书简单 通俗易懂 对计算机体系知识有一个较全面的介绍 而你只须要会一门编译语言就好了 它就是github

《计算机系统要素》

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

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

不要看到有3个编译器就以为难 其实相对于上面介绍的书籍 算是很是简单了 我大概花了1个多月的时间完成了这本书的全部项目 最终写出了一个编译器 算是对编译原理有了一个比较全面但不深刻的了解吧 这个时候再去看龙书 虎书 就不会感受很吃力了 附上我完成这本书全部项目的答案翻译

github.com/woai3c/nand…get

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

相关文章
相关标签/搜索