编译原理学习笔记(一)

   最近开始在学习编译原理。缘由是这么多年以来,一直作企业信息应用系统方面的开发。对于开发具体的业务功能固然早就得心应手,不过当想进一步开发相对基础的功能,好比报表,模版或者动态表单什么的,就有点力不从心。可是,以如今行业技术的发展来看,已经不可能再停留在开发业务代码的程度上了。尤为是近年来,出现了愈来愈多的所谓无代码开发平台,若是不能跟进学习,本身恐怕也要被淘汰了。因此,就只能下定决心,由基础开始从头学起,算是补上原来的课吧。前端

   我是在极客时间上,跟着宫文学老师专栏《编译原理之美》学的。刚开始学,了解了些基本概念。正则表达式

   编译技术分为前端技术和后端技术。前端技术是指编译器对程序代码的分析和理解过程。后端技术则是编译器将程序代码生成目标机器能够执行的目标代码的过程。算法

   其中前端技术又分为三个阶段。一, 词法分析 。二,语法分析。三,语义分析。后端

   一,词法分析是指将程序代码进行分词的过程。这个里面涉及到了 正则表达式 和有限自动机的概念。学习

   二,语法分析是将词法分析得到的一个个单词识别出程序的语法结构,组合抽象语法树(AST)。涉及到了 递归降低算法,二元表达式,等概念。设计

   三,语义分析是根据语义规则进行分析判断,将分析判断的结果做为属性标注在抽象语法树上。递归

 

   基本上学完编译原理的前端技术,应该就能够本身设计一个简单的脚本语言或者简单的模版引擎了。开发

   但愿能坚持学下去,作出一个成果出来吧。编译器

相关文章
相关标签/搜索