2.拿到了别人做好的。好开心啊,我来改改,肯定能改好
3.怎么改来改去就是不对呢,好烦啊,应该有点小问题,问问大神吧
4.大神说:你这是什么鬼,全都不对啊,很不对啊,你咋改的,我的天……
5.我不做了,好想死,大神,求求你,顺便帮我改改吧
![[泪] [泪]](https://i-blog.csdnimg.cn/blog_migrate/56dd29eed6b7e821369c083c380a1adc.gif)
![[泪] [泪]](https://i-blog.csdnimg.cn/blog_migrate/56dd29eed6b7e821369c083c380a1adc.gif)
………对于C++的实验总结到此为止
我们在之前的几篇文章里学习了compiler的全流程,从lexer到parser再到compiler都学习了一遍。
更重要的是,我们学习了计算机语言处理的四种形式:
1. Pure Interpreter
2. Interpreter
3. Compiler
4. Incremental Compiler
明白了并不是所有的情况下都需要严格按照lexer->parser->compiler这样的方式来process计算机语言。
实际上我们在日常的写代码过程里,很多时候已经在不经意间自己写了很多"lexer","parser","interpreter"。比如我们可能有时候会手写一段代码,读取文本,然后处理文本。
首先,读取文本和查找模式的过程落入lexer的范畴。这种情况下,我们要想想,是不是应该用正则表达式来做这件事情,而不是手写代码。
然后,处理文本也包含多种情况,比如:根据某种规则替换文本。这时我们要想想是不是应该用`sed`,`awk`以及类似的文本处理工具,结合`grep`和其它文本匹配工具来完成相关工作,再用shell脚本将不同的工具粘连在一起。
处理文本还有一种形式就是把读入的文本当作某种命令形式,根据读入的内容执行相关的动作。这其实就落入了interpreter的范畴,遇到这种情况,我们就需要想想,自己是不是应该用flex+bison或者antlr这种工具来写一个小型的dsl,而不是自己造轮子。
因此学习的边界是很重要的,把自己的边界扩大,完善自己的工具箱,有时可以解决好多时间,把机械劳动的成本转化成学习成本,进入更高阶,可以使得自己的视野更加开阔。
最近的状态不是特别好,太闲适了,2个礼拜没看书。。。一个越美看编程了。。。不行。这状态不好。这样吧以后每天看一节编程课,睡前半个小时看一下网站分析的书,每天做到早睡。买了艾草泡脚应该有助于睡眠。第4本词书开始背了。希望在年前背完。过年前暂时就想那么多了。。。。thx2016满满当当的一年
http://www.ceocio.com.cn/it/digi/2016-12-26/184025.shtml