144+粱肇森

一、编译原理是计算机专业的一门重要专业课,旨在介绍编译程序构造的一般原理和基本方法,将程序语言进行翻译,生成可供用户直接执行的二进制代码,即可执行文件。编译就是将源代码当作字符串的集合进行处理,转化为目标汇编代码。说白了就是对字符串的一个处理的过程,但是要将源代码转化为正确的目标汇编代码是个很复杂的,需要严密的数学逻辑,这样就造成了编译的复杂性。其内容包括语言和文法、词法分析、语法分析、语法制导翻译、中间代码生成、存储管理、代码优化和目标代码生成。 编译原理是计算机专业设置的一门重要的专业课程。虽然只有少数人从事编译方面的工作,但是这门课在理论、技术、方法上都对学生提供了系统而有效的训练,有利于提高软件人员的素质和能力。


二、
1.在编译原理的学习中所获,所思的东西足以让你终生获益。
2.当你真正完成这个过程后,你对你所写的程序、程序语言都会有更深的本质认识,这样的认识也会让你站的高度完全不同,如果你真的学的好,我想别人看到的是语法,你看到的是背后的实现,这样的感觉真的很好的,不信你试试。
3、可以更加容易的理解在一个语言种哪些写法是等价的,哪些是有差异的
4、可以更加客观的比较不同语言的差异
5、更不容易被某个特定语言的宣扬者忽悠
6、学习新的语言是效率也会更高
7、其实从语言a转换到语言b是一个通用的需求,学好编译原理处理此类需求时会更加游刃有余
三、不学编译原理,可能永远给各种写编译器的人当奴隶,以为写程序只能按照他们设计的语言哲学来做。学好了编译原理,不一定非要自己写语言,但是至少能把很多其他程序员觉得很酷的东西看得透彻一点,不会被程序语言的设计表象骗到太多。
四、  
端正认识:编译原理在静态文本处理上有广泛的应用,举个简单的例子,把HTML文件转化为纯文本,利用编译原理来实现“非常“简单,理解了编译原理的实用性,大概可以提高学习兴趣。
反复看书:这个办法看起来最笨,却是基本的方法。忘了是哪位名人说过,书只要多看,总能看得懂的。
删繁就简,避重就轻:对于词法分析,作者避免了自动机理论和集合论推演的介绍,直接搬出源码来,大大降低了理解难度,对于语法分析,作者介绍了递归下降和LL文法及相应的源码,而对LR文法,只说“理解理论就可以了“。虽然这种方法回避了对于难点的学习,但是用这种方法学习,可以在较短时间内编写出一个能够运行的词法分析器和语法分析器,可以大大提高学习积极性。

posted @ 2016-09-10 08:46  144+粱肇森  阅读(109)  评论(0编辑  收藏  举报