[编译原理随记]NFA转DFA子集构造算法

本文介绍了编译原理中NFA转DFA的子集构造算法,讲解了ε-closure的概念及其在状态转换中的应用,并通过实例详细阐述了如何进行DFA的构建。内容包括正则表达式的NFA表示,DFA的优势,以及ε-closure(move(T, a))的计算方法。最后,展示了如何依据Dtran表格绘制DFA状态图。" 131617429,11406031,TCP/IP协议详解:网络通信的基础,"['网络协议', 'TCP/IP', 'IP地址管理', '子网掩码', '网络基础']
摘要由CSDN通过智能技术生成

上级文章

[编译原理随记]正则表达式记号和状态图:https://blog.csdn.net/qq_28033719/article/details/107067798


准备知识

Lex程序的组成部分:

声明部分 - 就是声明变量命名、符号、常量、正则定义这些;

转换规则 - 就是类似于状态图的状态转换一样,每一个输入字符都会进行一个代码块处理,这个处理就叫转换规则。

比如:

p1  {action1}
p2  {action2} ..... 

每一个 P 代表一个正则表达式(可复杂可简单), action 就代表执行程序代码块。

辅助过程 - 比如需要依赖什么方法,外部包,第三方等等的东西,引进来就行。

有穷自动机:

可以理解为更加一般化的状态转换图,分为确定有穷自动机(DFA),不确定有穷自动机(NFA)。作用就是把正则表达式引导并编译成识别器,可以理解为一种抽象化框架来完成识别器的编码,从而做出识别器功能。

一般化:

数学中指普遍性,从已有对象小集合到已有对象大集合过度思想&#

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值