完整cmm解釋器構造實踐(一):搭建環境

事先聲明:本教程弱化編譯理論,側重實踐,如果想詳細瞭解編譯原理,務必自己看書!


從UC實習了3個月回學校之後開始準備期末的解釋器作業,由於之前一直在實習,沒人敢和一個遠在廣州的人組隊,於是我自成一隊,完成了cmm解釋器的全部工作。

當然,這個解釋器更多的是模擬執行,而不是真正意義上的類似Python那種解釋器,所以,不要把本文章當做權威性文章,我沒完整看過編譯原理,包括中間代碼的生成我也沒找到過一個標準的寫法,所以很多東西都有我自己的定義,注意批判性學習。

從一個編譯器的角度來看,我這個解釋器做的實際上功能不強,也就是說如果想增加函數等的功能,可能需要比較多的思考和代碼,但是對於cmm解釋器的功能來說是絕對夠用了。這之前我只上過一點編譯原理,而且上課沒聽過,期末又跑去實習,根本連書都沒看過,全憑藉個人理解和邊做邊看完成的cmm解釋器。

理論上幾乎是一片空白,但是需要做一個cmm解釋器來交作業,如果你也是這種情況,不妨看看我寫的這一系列教程,因爲我和你的狀態是一樣的,因爲我沒有理論基礎,很多東西都是後期看書加自己理解,所以更接近一個正常人的思維,而不是老學究。

這一篇只是作爲一個引子,或者說開坑說明,那麼下一章我們將正式開始cmm解釋器的構造,具體標題還沒想好,但是保證如果跟着我的節奏,我保證最終你可以做出一個帶GUI界面的,可編輯的,帶語法高亮的cmm解釋器。

除了GUI的部分代碼和框架,所有的代碼均由我個人完成。

開發語言是java,下面說一下所需的環境:

jdk 1.6或以上(其實這個解釋器可以完整移植到Android上去)

開發工具:Eclipse


我個人的配置是windows 7 ultimate 64bit + jdk 1.6 + Eclipse Luna 4.4.1


未完待續。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章