编译原理
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编译原理相关的知识,希望对你有一定的参考价值。
什么是编译原理
编译原理是计算机专业的一门重要专业课,旨在介绍编译程序构造的一般原理和基本方法。内容包括语言和文法、词法分析、语法分析、语法制导翻译、中间代码生成、存储管理、代码优化和目标代码生成。 编译原理是计算机专业设置的一门重要的专业课程。虽然只有少数人从事编译方面的工作,但是这门课在理论、技术、方法上都对学生提供了系统而有效的训练,有利于提高软件人员的素质和能力。
学习编译原理的好处
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、多自己实践学习,遇到不懂的,就问同学问老师,上网或者看书找答案。
以上是关于编译原理的主要内容,如果未能解决你的问题,请参考以下文章