圖靈程序設計叢書-自制編程語言

圖靈程序設計叢書-自制編程語言

ID:18152215

大?。?4.98 MB

頁數(shù):79頁

時間:2018-09-14

圖靈程序設計叢書-自制編程語言_第1頁
圖靈程序設計叢書-自制編程語言_第2頁
圖靈程序設計叢書-自制編程語言_第3頁
圖靈程序設計叢書-自制編程語言_第4頁
圖靈程序設計叢書-自制編程語言_第5頁
資源描述:

《圖靈程序設計叢書-自制編程語言》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學術(shù)論文-天天文庫。

1、版權(quán)聲明PROGRAMMINGGENGOWOTSUKURU..by.Kazuya.MaebashiCopyright.?.2009.Kazuya.Maebashi.All.rights.reserved.Original.Japanese.edition.published.by.Gijyutsu-Hyoron.Co.,Ltd.,TokyoThis.Simplified.Chinese.language.edition.published.by.arrangement.with.Gijyutsu-Hyoron.Co.,Ltd.,Tokyo.

2、in.care.of.Tuttle-Mori.Agency,.Inc.,Tokyo本書中文簡體字版由Gijyutsu-Hyoron.Co.,Ltd.授權(quán)人民郵電出版社獨家出版。未經(jīng)出版者書面許可,不得以任何方式復制或抄襲本書內(nèi)容。版權(quán)所有,侵權(quán)必究。(圖靈公司感謝李典對本書的審讀)譯者序能翻開這本書的人,想必對編程都有著濃厚的興趣。大部分編程愛好者都會利用業(yè)余時間寫一些小程序、開源項目作為消遣,卻很少有人會想要自己創(chuàng)造一門編程語言,這是為什么呢?在翻譯本書之前,如果別人問我要不要嘗試自制編程語言,我一定會覺得他瘋了。因為在潛意識里,我一直認

3、為制作編程語言應該是C語言之父丹尼斯·里奇這樣的業(yè)界大牛才能完成的浩大工程,作為一個普通程序員只要安于本分,用好已有的語言就已經(jīng)足夠了。在翻譯完本書后,我才發(fā)現(xiàn)自己真的是大錯特錯。原來創(chuàng)造一門編程語言,只需要一些C語言基礎(chǔ)、一些正則表達式知識、加上不斷思索的大腦就可以做到。如果你還覺得難以置信,那么就請看看在這本不算厚的書中,作者居然已經(jīng)創(chuàng)造了兩門編程語言,并且都具備高級編程語言的所有特性。其實一開始的問題已經(jīng)有了答案:很多看似難如登天的事情,一旦真的下決心去做,你會發(fā)現(xiàn)難度并沒有想象中那么高,只是我們往往缺少一顆勇于挑戰(zhàn)的心罷了。本書記錄

4、了作者一步一步從零創(chuàng)造出編程語言的全過程,作者并不是什么行業(yè)精英,而是像你我一樣的普通開發(fā)者。整本書中也沒有用特別復雜的算法或酷炫的編程技巧,但是就憑借著一行行簡單樸實的編程語句,作者最終完成了一個普通開發(fā)者看來幾乎不可能完成的任務。閱讀完本書后,除了自制編程語言的知識,我相信讀者還能收獲到一些更重要的東西。本書原文講到了日文編碼的知識,為了更好的將內(nèi)容精髓呈現(xiàn)給讀者,我們大膽地將涉及日文編碼的部分全部更改為中文編碼的知識,譯者劉卓還對此編寫了很多原創(chuàng)的補充內(nèi)容,力求能與原書保持同樣的水平。如有錯誤或疏漏,還請讀者隨時指正。讀完全書后,你會

5、對編程語言的原理和實現(xiàn)方式有一個全面深入的了解,比如你會明白為什么Java中String類型明明是對象類型卻不能改變其內(nèi)容,C語言中為什么a+++++b這樣看似合理的語句卻會報錯等。以前vi譯者序知其然而不知其所以然的問題都會得到答案,這對日后進行更高階的開發(fā)有很大的幫助。更重要的是,你可以獲得自制編程語言的能力,從而可以去做很多以前敢想?yún)s沒有能力做的事情,比如我現(xiàn)在就在構(gòu)思能否創(chuàng)造一門以文言文和中國古代文化為基礎(chǔ)的編程語言:易經(jīng)八卦就是天然的二維矩陣,《九章算術(shù)》則有不少基礎(chǔ)算法……相信讀者還會有更加天才有趣的想法出現(xiàn)。如果能運用本書中的

6、知識最終將其實現(xiàn),那么這將是對翻譯工作最好的肯定。最后,在這里代表其他二位譯者一并感謝在翻譯過程中給予我們幫助和支持的家人、同事,讓這本書最終得以問世。徐謙2013年中秋前 言這本書是為那些想獨立制作一門編程語言的人而寫的。一聽到這個話題,有的人會想:太瘋狂了,制作編程語言肯定很有難度吧?有人會懷疑:制作編程語言能有什么用呢?其實這些都是誤解。制作編程語言在技術(shù)層面上其實并不難,只要掌握一些基礎(chǔ)知識即可。而且,制作編程語言對于我們深入理解日常使用的C、Java、JavaScript等語言都有幫助。在一些應用程序的內(nèi)置腳本語言中,我們也經(jīng)常會

7、因為種種限制從而萌生制作替代語言的想法。因此,自制編程語言并不是少數(shù)極客的個人癖好,它對大多數(shù)程序員都頗具實用價值。日本關(guān)于制作編程語言的書已經(jīng)很多了,其中一些還被選定為大學教科書。這些書中常出現(xiàn)有限狀態(tài)機、NFA、LL(1)、LR(1)、SLA等專業(yè)詞匯,同時還大量使用∩、∈等數(shù)學符號,對于不熟悉這部分理論知識的人(包括我自己在內(nèi))來說非常難以讀懂。針對這種現(xiàn)狀,本書會偏重實踐,避免枯燥的理論。本書將分別制作兩種編程語言:crowbar與Diksam。crowbar是運行分析樹的無類型語言,Diksam是運行字節(jié)碼的靜態(tài)類型語言。無論哪種

8、語言,都具備四則運算、變量、條件分支、循環(huán)、函數(shù)定義、垃圾回收等功能,最終版則可以支持面向?qū)ο蟆惓L幚淼雀呒墮C制??傊?,作為現(xiàn)代編程語言所必須具備的功能都基本覆蓋了(唯一可能沒

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。