1. 介紹些計算機方面的書籍有哪些
1. 《信號與系統》
在《編碼》一書中,向我們展示了使用語言的一些直觀方法並創造新的方法來進行相互之間的交流,此書使我們明白了這種創造性以及我們人類對交流的迫切需求。
2. 學習scheme語言有什麼書 計算機構造和解釋 程序設計方法,這兩本我有咯
計算機程序的構造和解釋作者:HaroldAbelson,GeraldJaySussman,JulieSussman
isbn:7111135105
書名:計算機程序的構造和解釋(原書第2版)
頁數:473
譯者:裘宗燕
出版社:機械工業出版社
裝幀:平裝
出版年:2004-02-01
又名:,SecondEdition本書1984年出版(右圖分別是第一,第二版封面),成型於美國麻省理工學院(MIT)多年使用的一本教材,1996年修訂為第2版。在過去的二十多年裡,本書對於計算機科學的教育計劃產生了深刻的影響。
第2版中大部分重要程序設計系統都重新修改並做過測試,包括各種解釋器和編譯器。作者根據其後十餘年的教學實踐,還對其他許多細節做了相應的修改。
本書自出版以來,世界各地已有100多所院校採用本書做教材,其中包括美國斯坦福大學、美國普林斯頓大學、英國牛津大學、日本東京大學等。作者簡介:
HaroldAbelson是MIT1992年度MacVicarFacultyFellow。GeraldJaySussman是Matsushita電子工程教授。他們都在MIT電子工程和計算機科學系工作.都得到過最重要的計算機科學教育獎:如Abelson得到了IEEE計算機學會的Booth獎。Sussman得到了ACM的Karlstrom獎。
JulieSussman是作家和編輯,同時使用自然語言和計算機語言寫作。
每一位嚴肅的計算機科學家都應該閱讀這本書。由於本書清晰、簡潔和富於才智,我們強烈推薦本書,它適合所有希望深刻理解計算機科學的人們。
——MitchellWand<dr>
《美國科學家》雜志
網友評價:
1.涵蓋面很廣。從數據抽象、過程抽象、迭代、高階函數等編程和控制系統復雜性的思想,到數據結構和演算法,到編譯器/解釋器、編程語言設計。MIT這門課的課程講義(在MITOCW里可找到)里還增加了面向對象編程的內容。雖然很多內容涉及並不深入,但是這是MITEECS(電子工程與計算機科學系)的第一門專業基礎課(6.001),也就是說MIT計算機專業的學生在進入大學之後,在這門課之前沒有上過其它編程、軟體、計算機方面的課程。從這個角度看,起點是非常高的。其它大學的學生在倒騰C語言的時候,MIT的學生在思考設計語言和系統。
2.用解釋語言而不是編譯語言來闡述思想,簡化了數據類型、運行環境相關的一些細節,另外Scheme/Lisp有著極其簡練、但功能極其強大和靈活的語法,這些都使閱讀者更多地將精力集中在思想上,而不是語法細節上,頗為適合學習,只是Scheme的執行效率可能較低,表達力可能不夠」豐富「,不一定適合於實際開發。
3.MITOCW6.001里有幾個project,都很有意思。其中一個是設計一個類似於Google使用的web爬蟲!雖然實際上沒這么可怕,做了很多簡化,集中在樹的遍歷與索引表的建立和查詢上,但是仍然可以從中看出教授的視野和對學生的要求。
4.現在MITEECS已經取消了這門課,6.001的EECS介紹性功能被6.01和6.02兩門課程替代,另外新增了6.005(軟體),6.006(演算法),是不是因為6.001起點太高或有點偏呢?(對於EE方向的學生來說似乎有點偏。)盡管如此,作為一門在MITEECS教授了20多年的經典課程,仍然有其價值。
5.MITEECS沒有專門教授C、C++、Java等編程語言的課,一般都是要求學生用很短的時間自學。比如6.004要用到C,6.005要用到Java,6.006要用的Python,教授會要求學生在課程開始的幾個星期內自學掌握這些語言。
6.SICP中譯本翻譯有些問題。比如表述符號(變數)和值的binding關系時,binding一詞應翻譯成「綁定」,而不是「約束」。
7.MITScheme相當難用,簡直是石器時代的開發工具:)(指編輯和解釋器,不是語言)。
8.有人說看這本書主要看第四第五章。這不是一件容易的事情,尤其對於我們這個計算機教育落後的國家。好在還有平易近人的一二三章,基本上可以在網上找全習題答案。
9.有人說scheme是程序設計語言中的皇後,更多的人從來沒見過這條恐龍。打工族翻上幾頁後的第一個感覺是,這本書到底有什麼用?如果你對數據結構演算法編譯原理模塊設計足夠自信,如果你的日常工作是復制粘貼字元串並且很滿意這個結果,再或者如果你是mit的電子工程學士,算啦。
10.最後有一點,全部的習題能不落下盡量做,數量很多,主要是需要很多的時間思考,收獲也不是一般的
3. 想學《編譯原理》請各位推薦些書
我們學校用的是《編譯原理》與《編譯原理與實踐》這兩本書,這兩本書都是國外的教材。我覺得《編譯原理與實踐》這本書不錯,自學應該能看懂,而且代碼比較多,書最後還有整個小型編譯器的源代碼。
編譯不好學,你就慢慢學吧。
下面的資料請作參考:
當代編譯技術三大聖經級別的教材
1.龍書(Dragon book)
書名是Compilers: Principles,Techniques,and Tools
作者是:Alfred V.Aho,Ravi Sethi,Jeffrey D.Ullman
內容簡介
《編譯原理》作者Alfred V.Aho、Ravi Sethi和Jeffrey D.Ullman是世界著名的計算機 科學家,他們在計算機科學理論、資料庫等很多領域都做出了傑出貢獻。《編譯原理》 是編譯領域無可替代的經典著作,被廣大計算機專業人士譽為「龍書」。《編譯原理》一 直被世界各地的著名高等院校和科研機構(如貝爾實驗室、哥倫比亞大學、普 林斯頓大學和斯坦福大學等)廣泛用作本科生和研究生編譯原理與技術課程的 教材,《編譯原理》對我國計算機教育界也具有重大影響。 書中深入討論了編譯器設計的重要主題,包括詞法分析、語法分析、語法制 導分析、類型檢查、運行環境、中間代碼生成、代碼生成、代碼優化等,並在 最後兩章中討論了實現編譯器的一些編程問題和幾個編譯器實例,而且每章都 提供了大量的練習和參考文獻。
與上一版相比,《編譯原理》第二版進行了全面的修訂,涵蓋了編譯器開發方面的最新進展。每章中都提供了大量的系統及參考文獻。《編譯原理》是編譯原理課程方面的經典教材,內容豐富,適合作為高等院校計算機及相關專業本科生及研究生的編譯原理課程的教材,也是廣大技術人員的極佳參考讀物。
作者簡介
Alfred V.Aho,美國歌倫比亞大學教授,美國國家工程院院士,ACM和IEEE會士,曾獲得IEEE的馮·諾伊曼獎。著有多部演算法、數據結構、編譯器、資料庫系統及計算機科學基礎方面的著作。
Monica S.Lam,斯坦福大學計算機科學系教授,曾任Tensilica的首席科學家,也是Moka5的首任CEO。曾經主持SUIF項目,該項目產生了最流行的研究用編譯器之一。
Ravi Sethi,Avaya實驗室總裁,曾任貝爾實驗室高級副總裁TLucent Technologies通信軟體的CTO。他曾在賓夕法尼亞州立大學、亞利桑那州立大學和普林斯頓大學任教,是ACM會士。
Jeffrey D.Ullman斯坦福大學計算機科學系教授和Gradiance CEO,他的研究興趣包括資料庫理論、資料庫集成、數據挖掘和利用信息基礎設施教學等。他是美國國家工程院院士、IEEE會士,獲得過ACM的KarIstrom傑出教育家獎和Knuth獎。
第一版中文版
第二版中文版
2.鯨書(Whale book)
書名是:Advanced Compiler Design and Implementation
作者是:Steven S.Muchnick
內容簡介
本書迎接現代語言和體系結構的挑戰,幫助讀者作好准備,去應對將來要遇到的編譯器設計的問題。
本書涵蓋現代微處理器編譯器的設計和實現方面的所有高級主題。本書從編譯設計基礎領域中的高級問題開始,廣泛而深入地闡述各種重要的代碼優化技術,分析各種優化之間的相對重要關系,以及實現這些優化的最有效方法。
本書特點
●為理解高級編譯器設計的主要問題奠定了基礎
●深入闡述優化問題
●用Sun的SPARC、IBM的POWER和PowerPC、DEC的Alpha以及Intel的Pentium和相關商業編譯 器作為案例,說明編譯器結構、中間代碼設計和各種優化方法
●給出大量定義清晰的關於代碼生成、優化和其他問題的演算法
●介紹由作者設計的以清晰、簡潔的方式描述演算法的語言ICAN (非形式編譯演算法表示)。
本書是經典的編譯器著作,與「龍書」齊名,稱為鯨書。書中針對現代語言和體系結構全面介紹了編譯器設計與實現的高級論題,從編譯器的基礎領域中的高級問題開始,然後深入討論了各種重要的代碼優化。本書專為編譯器專業人士和計算機專業本科生,研究生編寫,在設計和實現高度優化的編譯器以及確定優化的重要性和實現優化的最有效的方法等方面,為讀者提供了非常有價值的指導。
作者簡介
Steven S.Muchnick,曾是計算機科學教授,後作為惠普的PA-RISC和SUN的SPARC兩種計算機體系結構的核心開發成員,將自己的知識和經驗應用於編譯器設計,並擔任這些系統的高級編譯器設計與實現小組的領導人。他在研究和開發方面的雙重經驗,對於指導讀者作出編譯器設計決策極具價值。
3.虎書(Tiger book)
書名是:Modern Compiler Implementation in C /Java /ML,Second Edition
作者是:Andrew W.Appel,with Jens Palsberg
內容簡介
《現代編譯原理——C語言描述(英文版)/圖靈原版計算機科學系列》全面講述了現代編譯器的各個組成部分,包括:詞法分析、語法分析、抽象語法、語義檢查、中間代碼表示、指令選擇、數據流分析、寄存器分配以及運行時系統等。與大多數編譯原理的教材不同,《現代編譯原理——C語言描述(英文版)/圖靈原版計算機科學系列》採用了函數語言和面向對象語言來描述代碼生成和寄存器分配,對於編譯器中各個模塊之間的介面都給出了實際的 C 語言頭文件。 全書分成兩部分,第一部分是編譯的基礎知識,適用於第一門編譯原理課程(一個學期);第二部分是高級主題,包括面向對象語言和函數語言、垃圾收集、循環優化、 SSA(靜態單賦值)形式、循環調度、存儲結構優化等。
本書是一本著名的編譯原理課程的教材。國際上眾多名校均採用本書作為編譯原理課程的教材,包括美國麻省理工學院、加州大學伯克利分校、普林斯頓大學和英國劍橋大學等。本書在國外享有「虎書」的稱號,與有「龍書」之稱的《編譯原理》(Alfred Aho 等編著)齊名。與編譯原理方面的其他名著相比,本書出版時間晚,內容新。 書中專門為學生提供了一個用 C 語言編寫的實習項目,包括前端和後端設計,學生可以在一學期內創建一個功能完整的編譯器。
作者簡介
Andrew W.Appel,美國普林斯頓大學計算機科學系教授,第26屆ACM SIGPLAN-SIGACT程序設計原理年會大會執行主席,1998-1999年在貝爾實驗室做研究工作。主要研究方向是計算機安全、編譯器設計、程序設計語言等。
4. 怎樣去寫一個編譯器(用C語言寫C語言編譯器),需要哪些知識做鋪墊,可以給一下相關網站和書籍的推薦嗎
寫編譯器重點就是設計並實現一些數據結構和演算法,語言特點太多的話,代碼寫起來不容易,建議你找一個小語言嘗試下,不要一開始就去嘗試成熟語言。否則你會在寫完語法分析程序以後,遭遇到很大的困難。多數人都是在寫語義分析程序的時候,突然發現自己設計的數據結構很爛,後邊越寫越要命。
如果你想入門編譯器的話,那麼可以看《編譯原理與實踐》,整本書先將編譯器理論,然後後邊教你一步步實現c-miuns(c的子集)的編譯器,包括lex,yacc,都在幾千行代碼左右。這本書講的比較簡單易懂一點
也可以學學斯坦福大學的編譯器設計公開課(aiken設計了一個叫cool的語言,專門用來教人寫編譯器),課程地址上面有人給了:Compilers。這門課以前有個實驗環境(據說已經給了,我以前寫的時候還是用的網上一個不完整的實驗環境),把和編譯器知識無關的內容都給你寫好了,你只需要在固定的地方填上你的內容就可以寫出你的編譯器(不要覺得很簡單哦,人家的代碼寫的很精巧的,讀完就發現寫個好編譯器還是很費腦子的),另外,這個實驗環境有個特點,就是在每一步都提供標准程序做對比,你可以在寫完一部分以後就同標准程序對比,及時發現錯誤。這種方式為寫編譯器又提供了很多幫助
先找個小的,慢慢研究,弄懂了整體的結構再說
5. 《Compilers Principles》txt下載在線閱讀全文,求百度網盤雲資源
《Compilers Principles編譯原理》(Alfred V. Aho)電子書網盤下載免費在線閱讀
鏈接: https://pan..com/s/1uTWbyl7EEuUO1EgQpbxOkg
書名:Compilers Principles編譯原理
作者:Alfred V. Aho
豆瓣評分:9.2
出版社:機械工業出版社
出版年份:2011-1
頁數:1009
內容簡介:
本書是編譯領域無可替代的經典著作,被廣大計算機專業人士譽為「龍書」。本書上一版自1986年出版以來,被世界各地的著名高等院校和研究機構(包括美國哥倫比亞大學、斯坦福大學、哈佛大學、普林斯頓大學、貝爾實驗室)作為本科生和研究生的編譯原理課程的教材。該書對我國高等計算機教育領域也產生了重大影響。 第2版對每一章都進行了全面的修訂,以反映自上一版出版20多年來軟體工程。程序設計語言和計算機體系結構方面的發展對編譯技術的影響。本書全面介紹了編譯器的設計,並強調編譯技術在軟體設計和開發中的廣泛應用。每章中都包含大量的習題和豐富的參考文獻。 本書適合作為高等院校計算機專業本科生和研究生的編譯原理與技術課程的教材,也可供廣大計算機技術人員參考。
作者簡介:
Alfred V.Aho,美國歌倫比亞大學教授,美國國家工程院院士,ACM和IEEE會士,曾獲得IEEE的馮·諾伊曼獎。著有多部演算法、數據結構、編譯器、資料庫系統及計算機科學基礎方面的著作。
Monica S.Lam,斯坦福大學計算機科學系教授,曾任Tensilica的首席科學家,也是Moka5的首任CEO。曾經主持SUIF項目,該項目產生了最流行的研究用編譯器之一。
Ravi Sethi,Avaya實驗室總裁,曾任貝爾實驗室高級副總裁和Lucent Technologies通信軟體的CTO。他曾在賓夕法尼亞州立大學,亞利桑那州立大學和普林斯頓大學任教,是ACM會士。
Jefirey D.Ullman斯坦福大學計算機科學系教授和Gradiance CEO。他的研究興趣包括資料庫理論、資料庫集成、數據挖掘和利用信息基礎設施教學等。他是美國國家工程學院院士、IEEE會士,獲得過ACM的Karlstrom傑出教育獎和Knuth獎。