http://blog.csdn.net/lm2302293/article/details/6798765html
工做若是是和編譯器相關的或者編譯器愛好者們,誰沒有點衝動想本身寫個編譯器出來。我也作了一些調研,分享以下:前端
How to write your own compilerjava介紹如何使用Java語言完成一個面向LLVM後端的編譯器。以mjava做爲目標語言,mjava是Java語言的一個子集。包括詞法分析,語法分析,錯誤控制,符號表管理,類型檢查等部分。後端
Hey Kids, Let’s Write a Compiler Today!ui
採用一種逐步增長功能的方式構造編譯器。做者的文章寫得深刻淺出(我只看了abstract和introduction部分)。google
Let’s Build a Compiler, by Jack Crenshawspa
做者從1988-1995年用了7年的時間完成了這份介紹。沒有使用Flex和yacc這些東西,純手工製做。使用Pascal語言寫出的編譯器。是一位學物理的博士,非常欽佩!.net
MIT OCW 6.035 Computer Language Engineering MITssr
關於計算機工程的開放課程,使用Java語言建立一個完整的Decaf語言編譯器。我也曾看過一點,但這門課的實驗要求有MIT的環境,還有一些庫什麼的。外面的人拿不到,因此沒辦法,只能做參考了。htm
Stanford University Computer Science 143 — Compilers
編譯器課程,使用C++實現一個Cool(Classroom Object-Oriented Language)語言編譯器。也是由於沒有環境和庫,只能做罷。
頗有特點的一門課,也是使用C++實現COOL語言的編譯器,但將LLVM融入進來,前端輸出中間表示到LLVM,在做一些後端的實驗。另外UIUC還有一門高級的編譯器課程,是使用Java語言來編寫。重要的是這個CS426可以下到全部課程的資料,包括源碼。感興趣的朋友能夠試試。
兩個新聞組,能夠上去提問題,也許有人回答你:
某人在飯桌上曾經的感慨,I have a dream...
一直以來,都以爲編譯器高深莫測。作個編譯器出來,或許很難,但作了可能就不難。 多是勇氣不足。再等等吧,總有一天我要把它實現!