编译原理-第3部分 词法分析后两节(详细总结+例题)

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的化简时,注意最终状态集的划分。

    分享和帮助是人生一大乐事,希望可以帮助您。本人才疏学浅,如果有不当之处,还请批评指正。同时欢迎大家评论、点赞及转发!

猜你喜欢

转载自blog.csdn.net/chen_yongbo/article/details/79983880
今日推荐