首页 > 代码库 > 编译原理
编译原理
做为一个刚开始学习编译原理的学生,对编译原理的概念并不太清晰,对于一门语言的课程来说,也许刚开始有点枯燥,概念也是相对的比较抽象。编译原理这一个新的科目,会让我对代码由一个新的认识,对代码的编译有更加高的要求。可以在其中学习到在寄存器分配中将会使用到贪心算法,死代码消除中将会使用到图论算法,词法分析与语法分析中使用到有限状态机与递归下降这样的重要思想等等,编译原理学过之后的益处包括:1、可以更加容易的理解在一个语言种哪些写法是等价的,哪些是有差异的2、可以更加客观的比较不同语言的差异3、更不容易被某个特定语言的宣扬者忽悠4、学习新的语言是效率也会更高5、其实从语言a转换到语言b是一个通用的需求,学好编译原理处理此类需求时会更加游刃有余这将会对日后的编程起到很大的帮助,编译原理的学习中所获,所思的东西足以让你终生获益。
编译原理是计算机专业的一门重要专业课,旨在介绍编译程序构造的一般原理和基本方法。内容包括语言和文法、词法分析、语法分析、语法制导翻译、中间代码生成、存储管理、代码优化和目标代码生成。 编译原理是计算机专业设置的一门重要的专业课程。虽然只有少数人从事编译方面的工作,但是这门课在理论、技术、方法上都对学生提供了系统而有效的训练,有利于提高软件人员的素质和能力。
同时编译原理是一门比较难懂的课程,也需要去翻查更多的书本进行知识的补充。学习编译原理,可以用语法分析来分析出一段用户上传是否含有代码,从而让你的网站更健壮。分析和分解用户输入的SQL语句,理解是否有害和是否有SQL注入。在业务软件中结算方面允许用户输入条件表达式和四则运算,允许用户自定义结算公式或条件,使软件上一个档次。甚至可以实现自己创造的编程语言,以后编程全用自语言来做,然后编译成老板要的那种语言。有的公司要JAVA,有的公司要C#,C++,VB等等都不必每样都费心了。不学编译原理,可能永远给各种写编译器的人当奴隶,以为写程序只能按照他们设计的语言哲学来做。学好了编译原理,不一定非要自己写语言,但是至少能把很多其他程序员觉得很酷的东西看得透彻一点。可以通过 龙书,还有 游戏脚本编程.进行学习,还可以自己设计一下小的程序检验下自己的学习成果。学习编译原理最关键的是动手去做,即使你可能没有精力或者没有毅力去实现一个完整的编译器,一些简单的分析和翻译还得试着完成一些,比如“Compilers: Principles,Techniques and Tools”一书里很多习题涉及到对一些Pascal语法的语言片段进行翻译。
编译原理