編譯原理的認識與感悟

編譯原理就是什麼?程序員

 

      編譯原理是計算機專業的一門重要專業課,旨在介紹編譯程序構造的通常原理和基本方法。內容包括語言和文法、詞法分析、語法分析、語法制導翻譯、中間代碼生成、存儲管理、代碼優化和目標代碼生成。 編譯原理是計算機專業設置的一門重要的專業課程。雖然只有少數人從事編譯方面的工做,可是這門課在理論、技術、方法上都對學生提供了系統而有效的訓練,有利於提升軟件人員的素質和能力。學習

 

學習編譯原理有什麼好處?優化

 

      從現實的方面來講,編譯原理學過以後的益處(不考慮最後都沒有入門的狀況)包括:spa

 

          1、能夠更加容易的理解在一個語言種哪些寫法是等價的,哪些是有差別的翻譯

          2、能夠更加客觀的比較不一樣語言的差別設計

          3、更不容易被某個特定語言的宣揚者忽悠遞歸

          4、學習新的語言是效率也會更高編譯器

          5、其實從語言a轉換到語言b是一個通用的需求,學好編譯原理處理此類需求時會更加遊刃有餘源碼

 

不學有什麼損失?編譯

       不學編譯原理,可能永遠給各類寫編譯器的人當奴隸,覺得寫程序只能按照他們設計的語言哲學來作。學好了編譯原理,不必定非要本身寫語言,可是至少能把不少其餘程序員以爲很酷的東西看得透徹一點,不會被程序語言的設計表象騙到太多。

 

如何學習編譯原理?

      端正認識:編譯原理在靜態文本處理上有普遍的應用,舉個簡單的例子,把HTML文件轉化爲純文本,利用編譯原理來實現「很是「簡單,理解了編譯原理的實用性,大概能夠提升學習興趣。

      反覆看書:這個辦法看起來最笨,倒是基本的方法。忘了是哪位名人說過,書好比龍書,虎書,鯨書,只要多看,總能看得懂的。

      刪繁就簡,拈輕怕重:網上流傳較廣的一篇《編譯原理學習導論》(做者四川大學唐良)就基本是這種思路,對於詞法分析,做者避免了自動機理論和集合論推演的介紹,直接搬出源碼來,大大下降了理解難度,對於語法分析,做者介紹了遞歸降低和LL文法及相應的源碼,而對LR文法,只說「理解理論就能夠了「。雖然這種方法迴避了對於難點的學習,可是用這種方法學習,能夠在較短期內編寫出一個可以運行的詞法分析器和語法分析器,能夠大大提升學習積極性。

相關文章
相關標籤/搜索