编译原理--NFA/DFA
现成的, 讲义:
https://www.cnblogs.com/AndyEvans/p/10240790.html
https://www.cnblogs.com/AndyEvans/p/10241031.html
一个例子, 写得非常好. 一下子就全明白了, 尤其是像我这种没有听过编译原理课程的人.
https://blog.csdn.net/tyler_download/article/details/53139240
上一节提到过,当处于某个指定状态时,如果该状态有ε边,那么,不需要吸收任何字符,就可以从该状态转换到ε边所指向的状态。
一开始,状态机处于起始状态12,
在状态12,通过ε边可直达状态2,6,
在状态2,可以通过ε边,直达状态0,3. 也就是说,当处于状态12时,通过ε边的连接,可以同时抵达状态的集合是 {12,2,6,0,3}。
通过一个状态,推算出它能同时抵达的状态集合,这个状态集合称作ε闭包集合,这种运算称之为ε闭包运算:
ε-closure(12) = {12, 2, 6, 0, 3}.
接下来读入字符1,我们从闭包集合中看看,哪个状态节点有能够吸收数字的转换边。从上图观察,我们发现,
状态6和0,拥有吸收数字字符的转换边。
状态6吸收一个数字字符后,跳转到状态7,
状态0吸收字符1后,跳转到状态1,
这样我们可以说,状态集合{12, 2, 6, 0, 3} 在吸收字符1后,跳转到集合{1,7},
后面这个集合{1,7},我们称为转移集合(move set), 我们把这种跳转运算标记如下:
move({12, 2, 6, 0, 3}, D} = {1, 7}.
非常好!!!
---------------------
作者:tyler_download
来源:CSDN
原文:https://blog.csdn.net/tyler_download/article/details/53139240
版权声明:本文为博主原创文章,转载请附上博文链接!
转载于:https://www.cnblogs.com/tekikesyo/p/10892380.html
编译原理--NFA/DFA相关推荐
- 编译原理---NFA转化为DFA---DFA最小化(自己看)
算法描述: 伪代码: function E(s){return NFA中状态s经过空转移到达的状态集合: }function Ee(T){return NFA中状态集合T中的每个状态通过空转移到达的状 ...
- 编译原理: Subset Construction 子集构造法(幂集构造)(NFA转DFA)
编译原理: Subset Construction 子集构造法(幂集构造)(NFA转DFA) 文章目录 编译原理: Subset Construction 子集构造法(幂集构造)(NFA转DFA) 简 ...
- 【编译原理】NFA转DFA(子集构造法)
前文回顾 [编译原理]正则表达式转NFA 算法 来自龙书第二版 C++实现 #include<iostream> #include<string> #include<cs ...
- 【C++实现】编译原理 免考小队 NFA转换为等价的DFA
背景 期末考试免考,冲! 实验名称 对任意给定的NFA M进行确定化操作 实验时间 2020年5月21日 到 2020年5月24日 院系 信息科学与工程学院 组员姓名 Chocolate.kry202 ...
- 【编译原理核心知识点总结】第三章、正则文法、NFA、DFA
阅读规范: 本文以重点为主,零碎知识点/相对不够重要的为辅助阅读内容,以脚注形式给出,点击脚注即可快速跳转. 助解题目通常是为了帮助理解给出的题目,考试不考,若已理解可直接跳过. 文中提到的课本是陈火 ...
- 【编译原理笔记03】词法分析:正则表达式、有穷自动机(FA)、DFA与NFA及RE的相互转换、DFA识别单词、语法检测
本次笔记内容: 3-1 正则表达式 3-2 正则定义 3-3 有穷自动机 3-4 有穷自动机的分类 3-5 从正则表达式到有穷自动机 3-6 从NFA到DFA的转换 3-7 识别单词的DFA 文章目录 ...
- 正则表达式引擎的构建——基于编译原理DFA(龙书第三章)——1 概述
说明:本系列文章介绍的算法均来自编译原理(龙书)一书,如果读者对代码没有兴趣,只想了解算法思路,完全可以阅读龙书相关章节内容,比我讲得清晰透彻. 序: 啃编译原理半年以来,任然徘徊在前4章,其间反反复 ...
- [编译原理随记]正则表达式转为NFA状态图(Thompsion构造法)
上级文章 [编译原理随记]正则表达式记号和状态图:https://blog.csdn.net/qq_28033719/article/details/107067798 [编译原理随记]NFA转DFA ...
- 编译原理: 最小化 DFA(划分) 验证 DFA(Kleene 闭包)
编译原理: 最小化 DFA(划分) & 验证 DFA(Kleene 闭包) 文章目录 编译原理: 最小化 DFA(划分) & 验证 DFA(Kleene 闭包) 简介 参考 正文 示例 ...
最新文章
- 它是谁?一个比 c3p0 快200倍的数据库连接池!
- 微信小程序实战之百思不得姐精简版
- python计算结果传给spark_将Python函数作为对象传递给Spark
- InvokeWebServiceActivity
- python max函数_使用'key'和lambda表达式的python max函数
- c语言阶乘分解成素因子,阶乘的素因子分解 51nod 1189
- 计算机考试单元格,计算机等级考试技巧在Excel中如何对单元格进行设置?
- 【其他】编程技巧之常用缩写
- 【Flink】Flink on yarn 支持指定 application id 吗? yarn.application.id
- 【Janino】Janino介绍
- 鼎捷ERP易飞9.0.8实战课程-卓致羽-专题视频课程
- 高中数学关于计算机的知识,高中数学必修三-算法概念基础知识解读
- 云计算风起云涌,IaaS 步入黄金发展期
- uni-app 跳转至手机浏览器
- 触屏计算机显示器CDU,科技:关于电脑显示器你所需要知道的
- 项目OA之资源结构图
- python处理Excel表格--读取Excel表格
- 如何用arcgis分析点到点的距离
- c语言移位函数intrins,单片机C语言实现NOP 循环移位
- Python旅途休憩——闭包
热门文章
- 什么是 操作系统 自举?
- RHEL 6.2安装vnc
- cnn卷积神经网络应用_卷积神经网络(CNN):应用的核心概念
- Waveform Audio 驱动(Wavedev2)之:WAV 驱动解析
- qt开发环境 - 丁林松教程,丑陋的计算器
- 程序解析excel中的图片_产品日志丨支持导入Excel中的图片amp;批量修改后期实体字段...
- 操作系统锁的实现方法有哪几种_「从入门到放弃-Java」并发编程-锁-synchronized...
- linux mint图标大小,Cinnamon:LinuxMint 15桌面设置小技巧
- 挖掘机燃料_2020广东挖掘机工程机械出租公司合作共赢
- mysql对所有列的数据进行修改6_MySQL的SQL语句 - 数据定义语句(6)- ALTER TABLE 语句 (3)...