开发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万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章