编译原理第三章学习总结

编译原理第三章学习总结

第三章的主要内容是词法分析,首先对于词法分析的概念与任务来讲,可以说它是编译的基础,所要任务是从左至右逐个字符地对源程序进行扫描,产生一个个单词符号从而将作为字符串的源程序改造成单词符号串的中间程序,主要功能便可简化为“输入源程序,输出单词符号”。单词符号的定义是一个程序语言的基本语法符号,继而可以将程序语言的单词符号规划为以下五种:

①关键字 ②标识符 ③常数 ④运算符 ⑤界符

接下来所学的是介绍词法分析的设计,它工作的第一步是输入源程序文本,将输入串进行预处理,在缓冲区中可直接进行工作。

其次便是状态转换图了,状态转换图作为一张有限方向图,它是设计词法分析程序的一种好途径。其中,结点以圆圈的表现形式,代表着状态,不同状态之间采用箭弧进行连接,箭弧上的标记,也就是字符,代表在射出节点状态下可能出现的输入字符或字符类。状态转换图有多种状态,其中有一个被认为是初态,而且至少要有一个用双圈所表示的终态。

第三个知识点是正规表达式与有限自动机,其中正规式就是将具有相同特征的字都放到一起,从而组成一个集合,便是正规集。正规式是一种形式化的方法来表示正规集。但需要注意的是正规式是描述单词结构的一种形式,正规集是该类单词的全集。

正规式的性质如下

其实有限自动机可以理解为状态转换图的形式化,有限自动机:一个确定有限自动机(DFA)M是一个五元式,也是将状态转换图再形式化一下便是所谓的有限自动机。 确定的有限自动机详细定义如下

非确定的有限自动机

习题总结

 

 

学习感悟:

  这一章的内容主要是词法分析器的概念,功能以及设计等,其中还包括正规表达式和有限自动机DFA和NFA的学习。对于词法分析器的概念,功能,组成结构,以及运行原理和超前搜索确定字段语句的具体表示意义等理论知识,还是比较容易理解的。我认为这一章比较重要的是状态转换图和正规表达式以及有限自动机的设计过程。

  其中状态转换图的话要要分清初态,终态以及中间的折射关系。只要弄清了初始结点和结点之间的关系,还是比较好理解的。关于自动机的话,首先要分析正则表达式的构成,得到状态之间由初始状态根据不同输入得到新的状态,构成状态矩阵,得到状态图。

  值得一提的是在NFA的化简中,由状态图得到化简后的状态图的话,需要分析各个状态的行为是不是相同,例如状态1和状态2在输入不同的值的情况下得到的下一状态都是对应相同的,就可以把他们归于一类,最终得到化简后的状态图。

  这一章的学习,只要对逻辑掌握的较好,多思考多练习,一开始觉得困难的习题也会迎刃而解。

  • 7
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值