1 引言
前段时间在开发应用程序,准备申请软件著作权。昨天晚上把材料提交,今天就想着对之前的学习的内容进行总结。个人认为总结还是有许多好处,其中的一个益处就是回顾已学的知识,若时间太长不去复习总结,容易遗忘。在总结的过程中,我们同样可以知道自己对知识点的掌握情况。这篇文章和大家分享的是词法分析后面两节的内容,一个是正规表达式到有限自动机的构造,另一个是词法分析器的自动生成。
2 正规表达式到有限自动机的构造
2.1 由正规表达式构造等价的NFA M
方法如下:
例题:
2.2 NFA M的确定化
NFA的确定化是指对给定的NFA都能相应地构造出一个与之等价的DFA,使它们能够识别相同的语言。我们采用子集法来对NFA M确定化。
例题:
2.3 DFA M的化简
对NFA确定化后所得到的DFA可能含有多余的状态,因此还应对其进行化简。所谓DFA M的化简,是指寻找一个状态数比M少的DFA M’,使得L(M)=L(M’)化简了的DFA M ' 满足下述两个条件:(1) 没有多余状态;(2) 在其状态集中,没有两个相互等价的状态存在。
例题:
2.4 正规表达式到有限自动机构造示例
例题:
例题:
3 词法分析器的自动生成
略
4 结束语
第四节词法分析器的内容不是重点,所以没有详细阐述。第三节的内容是重点,要多做练习,同时在DFA的化简时,注意最终状态集的划分。
分享和帮助是人生一大乐事,希望可以帮助您。本人才疏学浅,如果有不当之处,还请批评指正。同时欢迎大家评论、点赞及转发!