如何學習編譯原理

對於沒有計算機科學基礎知識的程序員或初學者來講 一上來就看龍書 虎書是行不通的 全是理論知識 看得想睡覺 我還試過看網易雲大學計算機專業的編譯原理課程 也是看得一頭霧水 看到80多講就看不下去了git

另外 SICP(計算機程序的構造和解釋)這本不少人推薦的書其實並不適合初學者 前3章和後面幾章難度差異有點大 多是本身水平不行 看LISP解釋器和編譯器那兩章也是看不懂 雖然強迫本身看完 可是最後仍是不懂編譯原理究竟是怎麼回事程序員

不過 後來我仍是經過學習一本書的知識 寫出來了一個簡單的編譯器 這本書簡單 通俗易懂 對計算機體系知識有一個較全面的介紹 而你只須要會一門編譯語言就好了 它就是github

《計算機系統要素》

這本書前面5章講的是硬件知識 雖然跟編譯原理沒什麼關係 可是對於瞭解計算機硬件知識是頗有用的 重點是通俗易懂 後面的章節就是和編譯原理有關的知識了 書裏的內容介紹了學習

  • 彙編編譯器(將彙編語言翻譯爲機器語言)
  • VM編譯器(將虛擬機語言翻譯爲彙編語言)
  • 編譯器(將高級語言翻譯爲虛擬機語言)

不要看到有3個編譯器就以爲難 其實相對於上面介紹的書籍 算是很是簡單了 我大概花了1個多月的時間完成了這本書的全部項目 最終寫出了一個編譯器 算是對編譯原理有了一個比較全面但不深刻的瞭解吧 這個時候再去看龍書 虎書 就不會感受很吃力了 附上我完成這本書全部項目的答案翻譯

github.com/woai3c/nand…get

再最後說一句 這本書的內容真的是通俗易懂!通俗易懂!通俗易懂!

相關文章
相關標籤/搜索