对编译原理的见解

编译原理正则表达式

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

    大学课程为何要开设编译原理呢?这门课程关注的是编译器方面的产生原理和技术问题,彷佛和计算机的基础领域不沾边,但是编译原理却一直做为大学本科的必修课程,同时也成为了研究生入学考试的必考内容。编译原理及技术从本质上来说就是一个算法问题而已,固然因为这个问题十分复杂,其解决算法也相对复杂。咱们学的数据结构与算法分析也是讲算法的,不过讲的基础算法,换句话说讲的是算法导论,而编译原理这门课程讲的就是比较专一解决一种的算法了。在20世纪50年代,编译器的编写一直被认为是十分困难的事情,第一Fortran的编译器听说花了18年的时间才完成。在人们尝试编写编译器的同时,诞生了许多跟编译相关的理论和技术,而这些理论和技术比一个实际的编译器自己价值更大。就犹如数学家们在解决著名的哥德巴赫猜测同样,虽然没有最终解决问题,可是其间诞生很多名著的相关数论。编程

    根据有经验的人可知道:不管是工做上仍是业余中若是想编一点稍微有一些智能的程序,必然要用到。目前你们都在用的正则表达式是用编译原理作的,那只是一个很小的应用例子。大一点的应用能够作到必定的技术先进性,从而让你在本行业站稳脚跟。好比能够用语法分析来分析出一段用户上传是否含有代码,从而让你的网站更健壮。分析和分解用户输入的SQL语句,理解是否有害和是否有SQL注入。在业务软件中结算方面容许用户输入条件表达式和四则运算,容许用户自定义结算公式或条件,使软件上一个档次。甚至能够实现本身创造的编程语言,之后编程全用自语言来作,而后编译成老板要的那种语言。有的公司要JAVA,有的公司要C#,C++,VB等等你都没必要每样都费心了。这样作还有一个好处,你的源程序实际上是自语言,目标代码则是社会上公认的源程序,因此是能够公开的。若是以这种技术为核心技术开公司的话,则有着技术上更高一层的先进性,这种核心竞争力是很值钱的。试想,你公司的员工只会用自语言,他们跳槽的机会就少了。而你公司的用户老是能够获得全套的他们认为的源程序,则市场机会就大了。别的通常软件公司可不敢给出全套源程序,总要多少保留一点的。数据结构

    既然编译原理如此重要,那么咱们更须要认真的学习,逐步地巩固这方面的知识。不管是学习哪一种技能、哪一种学问,都要一步一个脚印,从基础出发,知己知己才能百战不殆。诚然,对于刚接触这门学科的我来讲,编译原理很难学,必须本身动手编,并且不要想一口吃成胖子,从词法分析开始写,一步步来。相信到最后,确定会有意料以外的收获。编程语言

相关文章
相关标签/搜索