編譯原理是計算機專業的一門重要專業課,旨在介紹編譯程序構造的一般原理和基本方法。內容包括語言和文法、詞法分析、語法分析、語法制導翻譯、中間代碼生成、存儲管理、代碼優化和目標代碼生成。
這門課程是一門真正與代碼做斗爭的課程,對于一個有至于追求技術的人是不容錯過的課程,而且編譯原理可以說是一個計算機科學的縮影。學習它更多的是去追尋程序設計語言的本質。學習這門課程對于一個有Geek精神的開發者,他會開始運用自己的所學開發享受“上帝”的感覺,去嘗試創造一門語言。
完全不懂編譯原理的程序員,就好像是完全沒有學過人體解剖圖的畫家一樣,當然不會說一定就無法成功,但更好的基礎可以提高成功的幾率。
如果真的說如何學習編譯原理,我想最好的辦法就是練習、實踐。總的來說,我認為學習編譯原理的一個辦法就是安靜下來,耐耐心心的讀一本經典的編譯原理教材,然后做完每一道習題,隨后再自己編寫一個玩具編譯器。