编译原理

什么是编译原理

      编译原理是计算机专业的一门重要专业课,旨在介绍编译程序构造的一般原理和基本方法。内容包括语言和文法、词法分析、语法分析、语法制导翻译、中间代码生成、存储管理、代码优化和目标代码生成。 编译原理是计算机专业设置的一门重要的专业课程。虽然只有少数人从事编译方面的工作,但是这门课在理论、技术、方法上都对学生提供了系统而有效的训练,有利于提高软件人员的素质和能力。


学习编译原理的好处

1、可以更加容易的理解在一个语言种哪些写法是等价的,哪些是有差异的
2、可以更加客观的比较不同语言的差异

3、更不容易被某个特定语言的宣扬者忽悠

4、学习新的语言是效率也会更高

5、其实从语言a转换到语言b是一个通用的需求,学好编译原理处理此类需求时会更加游刃有余

 

6、学会了编译原理,就可以用编译原理的眼光来看带我自己的代码,写出了优秀的单元测试。


不学的损失

1、不能用语法分析来分析出一段用户上传是否含有代码,从而让你的网站更完善。
2、不能分析和分解用户输入的SQL语句,理解是否有害和是否有SQL注入。
3、无法在业务软件中结算方面允许用户输入条件表达式和四则运算,允许用户自定义结算公式或条件,使软件上一个档次。
4、学习编译原理甚至可以实现自己创造的编程语言,以后编程全用自语言来做,然后编译成老板要的那种语言。有的公司要JAVA,有的公司要C#,C++,VB等等你都不必每样都费心了。这样做还有一个好处,你的源程序其实是自语言,目标代码则是社会上公认的源程序,所以是可以公开的。如果以这种技术为核心技术开公司的话,则有着技术上更高一层的先进性,这种核心竞争力是很值钱的,不学就没有这方面的优势。

 

怎么学习

1、要读:《编程语言实现模式》,主要用ANTLR讲解各种例子。《领域专用语言实战》用Ruby、Groovy等语言讲解。

2、得至少懂点计算机硬件原理。。例如所有运算只能在特定的寄存器中计算,然后存回ram(变量所在地)

3、上课认真听讲,作业认真完成。

4、多自己实践学习,遇到不懂的,就问同学问老师,上网或者看书找答案。

posted @ 2016-09-09 17:20  087林金龙  阅读(106)  评论(0编辑  收藏  举报