编译原理第三章总结

一、词法分析:

1.词法分析器:执行词法分析的程序
输入:源程序

输出:单词符号

2.单词符号概念
指语言中具有独立意义的最小的语法符号

例:C = A * 3.14 + 5

3.单词种别
(1)关键字,运算符,界符(2)常数(3)标识符

4.单词符号的识别

(1)超前搜索(2)直接分析法(3)状态转换图法(重点)

5.正规式与正规集

具有相同特征的字放在一起组成一个集合,即所谓的正规集

 然后使用一种形式化的方法来表示正规集,即所谓的正规式

注意
正规式是描述单词结构的一种形式;

正规集是该类单词的全集。

正规式的性质:正规式的性质
 设U,V,W是上的∑正规式,则
     (1) U | V = V | U 或的交换律
    (2) U | ( V|W ) = ( U|V ) | W 或的结合律
    (3) U ( VW ) = ( UV ) W 连接积的结合律
    (4) U ( V | W ) = ( UV ) | ( UW ) 分配律
         ( V | W ) U = VU | WU

    (5) εU = Uε = U

二、确定的有限自动机(DFA)

1.定义:一个确定有限自动机(DFA)M是一个五元式:

M = (S, ∑, f, s0, F)

S是一个有限的状态集合,它的每个元素我们称为一个状态
∑是一个有穷的输入符号的字母表,它的每个元素我们称为一个输入字符
f是从 S×∑ →S的单值部分映射
s0是S的一个元素,为初始状态,它是唯一的

状态集合F是终止状态的集合,它是S的子集(可空)

2.DFA M的表示方法
状态转换矩阵表示法(用一个“表”来表示)

设矩阵的行表示状态,列表示输入字符,矩阵元素是f(s,a)的值

三、非确定的有限自动机(NFA)

1.定义:一个非确定有限自动机(NFA)M是一个五元式

M = (S, ∑, f, S0, F)

2.NFA M表示方法
(1) 用状态矩阵表示

(2) 用状态转换图表示

四、正规式与有限自动机的等价性

1.定理1:对于任何∑上NFA M都可构造一个∑上的正规式V,使得  L(V) = L(M) 

2.定理2. 对于∑上的每一个正规式V,存在一个∑上的DFA M,使得L(M) = L(V) 

3.化简DFA的一般步骤
(1) 检查状态转换函数是否为全函数。
(2) 用化简算法进行化简
(3) 去掉死状态

五、心得体会:

1.第三章很明显的感觉,比第二张在难度与理解上有了很大的层次感,不论是从一些定义、定理的内容和数量还是做题的步骤上,都有了难度的提升,另外,个人感觉本章的重点在于正规式与有限自动机的等价性,由DFA M、NFA M,和一个正规式V的相互转化,其中DFAM的化简更是繁琐。

2.此外,在做完课后题百度答案的时候,发现里面的一些步骤根课件上大相径庭,这让我有点慌,比如说,在构造状态表的时候,有一个集合根据路径无法到达时,记为“-”,而答案加入了一行“-  -  - ”,这样其实是课件里省略了这一步,最后的结果还是要去掉死状态的,所以结果是一样的,就是这里被他困住了。


六、课后习题选做


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值