開發PLO編譯器過程的一些體會

學了c++有一段時間了,一直沒有適合的項目練手,剛好最近編譯原理課程設計要求做一個pl0編譯器,於是決定選擇c++來編寫。

一路上可叫一個坎坷啊,要麼是邏輯錯誤,要麼是語言特性方面不熟悉而導致編譯不通過,或者程序出錯。可以說,三分之一的開發時間都在測試c++的用法= = 。不過還好堅持下來也做完了,其中各種數據結構,各種用,如堆棧,list,map,二維數組,vector等,讓我熟悉了一下這些常用的數據結構,這個編譯器的開發確實讓我收穫不少。

接下來,我說下幾點我自己的心得體會:

1.首先一定要充分透徹的理解課本原理,在腦子(或紙上)構建好整體的框架,再開始動手寫代碼。

2.分功能,模塊,逐部分完成,例如,詞法分析->語法分析->語義分析->目標代碼生成。

3.代碼出現死循環,棧溢出等問題,debug找出問題出處,再分析造成這個問題的原因。

4.保持一個良好的心態(個人認爲最重要)。不要爲出bug煩躁,不要爲找不到bug煩躁(我經常這樣,需改正),累了就休息休息,不要因爲寫代碼而破壞自己的生物鐘。還有一點很重要的是,不要因爲別人寫得快而感到自卑,感到壓力,自己和自己比,把握進度,適當休息。



最後,附上源代碼:https://github.com/Downey-W/MyPL0Compiler (= = ,可以說是自己第一個c++項目,可能當中有不少地方不規範,希望大家能指出。)

發佈了23 篇原創文章 · 獲贊 3 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章