幾篇文章瞭解編譯原理

來源:互聯網
上載者:User

如果你是一個從來沒有上過一節電腦課,半道出家的程式猿.像我一樣,一定被各種電腦名稱詞唬過,什麼演算法啦,編譯原理啦.被唬過後的你去買過演算法導論,虎書回去啃,結果啃的很辛苦,更苦逼的是中國人寫的書,特別是大學的教材,看不懂那真不是你智商問題.  

   作為一個普通的應用程式開發人員,我相信大部分人都沒有真正認真啃完過那些厚書,我始終覺得大學時候你不把妹,你在那啃演算法,這種人是不是有病.畢業時候二十來歲,不去玩樂,天天在寫字樓裡盯著螢幕,只能是DIAO絲(我承認我是這種廝).哪怕像我這樣馬馬虎虎啃過一些的,瞭解這些除瞭解惑,還真沒用上過.平時做項目的時候,一個星期還在那哼唧哼唧編代碼,什麼介面效果也看不到,老大就彪了:"什麼?!,搞到現在啥也看不到?!" 兩星期功能沒增加,介面沒啥變化. "什麼?這段時間你們在幹啥?"

別人說啥你也不會相信,你天天在寫js的時候用不上編譯原理,非要花時間去折騰弄懂,那就推薦幾篇文章,瞭解一下所謂的編譯原理.讓你節約一點時間去陪陪家人,鍛煉一下身體,以免技術還不突出的時候,頸椎已經突出了.

Create a Language Compiler for the .NET Framework

http://msdn.microsoft.com/en-us/magazine/cc136756.aspx

如果你是.NET的程式猿,這篇文章就是為你準備的,這篇文章用C#實現了一個簡單的語言然後最終產生IL代碼.列印下來一共十幾頁,就這麼點東西.所謂的詞法分析(Lexer),文法分析器(Parser)產生AST(Abstract Syntax Tree)抽象文法樹,到編譯器後端都有了.你還需要知道什麼.

Let's Build a Compiler

http://compilers.iecc.com/crenshaw/

這是一個物理學Phd 寫的,寫這些文章的時候,我出生沒多久.搞物理的懂吧,完全的和我一樣門外漢,所以一定很容易懂.代碼是Pascal的.看了第一篇我都沒多大興趣看完這個了.

我這輩子很顯然沒機會,有機會也不會去寫個毛編譯器,哪怕是IronPython那種轉換,生命是如此的短暫,卻去Hacker這些玩意,那麼還是可能會有需要寫個轉換器,那麼看一點Antlr吧. 只要瞭解一點NBNF寫個grammar,那玩意把你lexer,parser都產生好了,產生java,python,c#隨你.

探索Antlr

http://dreamhead.blogbus.com/logs/10756716.html

Five minute introduction to ANTLR 3

http://www.antlr.org/wiki/display/ANTLR3/Five+minute+introduction+to+ANTLR+3

OK了,差不多了,好久沒有全休過完整的雙休日,去做個飯.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.