0909 編譯原理的學習

      在21世紀的信息快速發展時代,計算機的技術已經滲入到生活當中。所以,咱們須要學習更多的計算機的專業知識。『編譯原理』這門課程是一門設計和構造編譯程序原理和方法的課程,是計算機各專業的一門重要專業基礎課。這門課程旨在介紹編譯程序構造的通常原理和基本方法。內容包括語言和文法、詞法分析、語法分析、語法制導翻譯、中間代碼生成、存儲管理、代碼優化和目標代碼生成。 編譯原理是計算機專業設置的一門重要的專業課程。雖然只有少數人從事編譯方面的工做,可是這門課在理論、技術、方法上都對學生提供了系統而有效的訓練,有利於提升軟件人員的素質和能力。編譯原理及技術從本質上來說就是一個算法問題而已,固然因爲這個問題十分複雜,其解決算法也相對複雜。 咱們學的數據結構與算法分析也是講算法的,不過講的基礎算法,換句話說講的是算法導論,而編譯原理這門課程講的就是比較專一解決一種的算法了。算法

      這門課程關注的是編譯器方面的產生原理和技術問題,彷佛和計算機的基礎領域不沾邊,但是『編譯原理』卻一直做爲『大學本科』的必修課程,同時也成爲了研究生入學考試的必考內容。編譯原理及技術從本質上來說就是一個算法問題而已,固然因爲這個問題十分複雜,其解決算法也相對複雜。咱們學的數據結構與算法分析也是講算法的,不過講的基礎算法,換句話說講的是算法導論,而編譯原理這門課程講的就是比較專一解決一種的算法了。在20世紀50年代,編譯器的編寫一直被認爲是十分困難的事情,第一Fortran的編譯器聽說花了18年的時間才完成。在人們嘗試編寫編譯器的同時,誕生了許多跟編譯相關的理論和技術,而這些理論和技術比一個實際的編譯器自己價值更大。就猶如數學家們在解決著名的哥德巴赫猜測同樣,雖然沒有最終解決問題,可是其間誕生很多名著的相關數論。還有,這門課程實際蘊含着計算機學科中解決問題的思路、形式化問題和解決問題的方法,而且這些思路和方法除了對應用軟件的設計與開發具備必定的啓發和指導做用外,在提倡創新的時代下具備很是重要意義。根據以上所述,大學就是由於以上緣由纔開設這麼課程的。數據結構

      咱們應該端正意識去學習。首先,編譯原理在靜態文本處理上有普遍的應用,舉個簡單的例子,把HTML文件轉化爲純文本,利用編譯原理來實現」很是」簡單.理解了編譯原理的實用性,大概能夠提升學習興趣。第二;反覆看書: 這個辦法看起來最笨,倒是基本的方法。忘了是哪位名人說過,書只要多看,總能看得懂的.第三:結合源碼來看: 這是經典教材Compiler Design in C的做者Allen Hollub建議的方法。這本教材的特點就是包含了大段yacc,lex的代碼.這也是個好方法,並且,只有看懂了代碼,才能說在根本上理解了理論。固然,要徹底看懂yacc的代碼,工做量是很大的,並且一樣要先理解理論。學習

      最後,若是沒有學習理論課,根本不知如何建立編譯器。若是學習了,應該會有一點思路吧。優化

相關文章
相關標籤/搜索