作业九——DFA最小化
1.将DFA最小化:教材P65 第9题
I |
{1, 2, 3, 4, 5} |
{6, 7} |
{1, 2}b->{1, 2, 3, 4, 5} {3, 4}b->{6, 7} {5}b-> {1, 2, 3, 4, 5}可区别,划分 |
||
II |
{1, 2}{3, 4}{5} |
{6, 7} |
{6}b->{6} {7}b->{6} {6, 7}不可区别,等价 |
||
III |
{1, 2}{3, 4}{5} |
{6, 7} |
{3}c->{3} {4}c->{4} {3}b->{6, 7} {4}b->{6, 7} {3}d->{5} {4}d->{5} {3, 4}不可区别,等价 |
||
IV |
{1, 2}{3, 4}{5} |
{6, 7} |
{1}a->{3, 4} {2}a->{3, 4} {1}b->{2} {2}b->{2} {1, 2}不可区别,等价 |
状态转换图如下:
2.构造以下文法相应的最小的DFA
S→ 0A|1B
A→ 1S|1
B→0S|0
答:S -> 0A | 1B
-> 0(1S | 1) | 1(0S | 0)
-> 01S | 01 | 10S | 10
-> (01 | 10)S | (01 | 10)
-> (01 | 10)*(01 | 10)
由正规式可得NFA:
由NFA可得DFA状态转换矩阵如下:
DFA状态转换图如下:
最小化DFA如下:
状态转换图如下:
3.自上而下语法分析,回溯产生的原因是什么?
文法中,对于某个非终结符的规则其右部有多个选择项,当根据所面临的输入符号不能准确的确定所要的选择项时,就可能出现回溯。
4.P100 练习4,反复提取公共左因子。
S -> C$
C -> bA | aB
A -> a | aC | bBB
B -> b | bC | aBB
答:S -> C$
C -> bA | aB
A -> aD | bAA
B -> bD | aBB
D -> ɛ | C
作业九——DFA最小化的更多相关文章
- 作业九——DFA最小化,语法分析初步
- 第九次作业——DFA最小化,语法分析初步
老师:MissDu 提交作业 1.将DFA最小化:教材P65 第9题 答: 2.构造以下文法相应的最小的DFA S→ 0A|1B A→ 1S|1 B→0S|0 3.自上而下语法分析,回溯产生的原因是 ...
- 第九次作业 DFA最小化,语法分析初步
1.将DFA最小化:教材P65 第9题 Ⅰ {1,2,3,4,5} {6,7} {1,2}b={1,2,3,4,5} 3,4}b={5} {6,7} Ⅱ {1,2}{3,4}{5} {6,7} 2.构 ...
- DFA 最小化
NDFA.εNDFA 确定化的细节这里就不总结了,这里说一说DFA最小化的算法. 关于DFA最小化,
- dfa最小化,修正了上个版本的一些错误。
上个版本测试的时候,只用了两个非常简单的测试用例,所以好多情况有问题却没有测试出来 bug1:在生成diff_matrix的时候,循环变量少循环了一次,导致最后一个节点在如果无法与其他点合并的情况下, ...
- 编译原理中DFA最小化
关于编译原理最小化的操作,专业术语请移步至:http://www.360doc.com/content/18/0601/21/11962419_758841916.shtml 这里只是记录一下个人的理 ...
- DFA最小化,语法分析初步
1.将DFA最小化:教材P65 第9题 2.构造以下文法相应的最小的DFA S→ 0A|1B A→ 1S|1 B→0S|0 语言:(01 | 10)*(01 | 10) 自动机图: DFA状态转换矩阵 ...
- 编译原理之DFA最小化,语法分析初步
1.将DFA最小化: 状态转换图: 识别语言:b*ac*(da)*bb* 2.构造以下文法相应的最小的DFA S→ 0A|1B A→ 1S|1 B→0S|0 (1)正规式: S -> 0(1S+ ...
- 编译原理:DFA最小化,语法分析初步
1.将DFA最小化:教材P65 第9题 解析: 2.构造以下文法相应的最小的DFA S→ 0A|1B A→ 1S|1 B→0S|0 解析: S→ 0A|1B →S → 0(1S|1)|1(0S|0 ...
随机推荐
- 当微信小程序遇到AR(四)
当微信小程序遇到AR,会擦出怎么样的火花?期待与激动...... 通过该教程,可以从基础开始打造一个微信小程序的AR框架,所有代码开源,提供大家学习. 本课程需要一定的基础:微信开发者工具,JavaS ...
- Docker跨主机网络实践
Docker使用中网络管理是最麻烦的,在项目初始化前期就需要进行合理的规划,如果在比较理想的单主机的网络通信是比较简单的,但如果涉及到跨主机的网络就需要使用docker自带的overlay netwo ...
- QueryPerformanceFrequency 基本介绍精确获取时间
精确获取时间: QueryPerformanceFrequency() - 基本介绍 类型:Win32API 原型:BOOL QueryPerformanceFrequency(LARGE_INTEG ...
- Android netty客户端入门
新建项目,加入netty库 implementation 'io.netty:netty-all:4.1.36.Final'
- [转帖]SSH远程登录配置文件sshd_config详解
SSH远程登录配置文件sshd_config详解 2016年06月02日 17:42:25 Field_Yang 阅读数 61386 版权声明:本文为博主原创文章,遵循CC 4.0 by-sa版权 ...
- MongoDB使用过程中的报错处理(持续更新)
1.连接池问题 com.mongodb.DBPortPool$SemaphoresOut Concurrent requests for database connection have exceed ...
- 什么是DataV数据可视化
DataV数据可视化是使用可视化大屏的方式来分析并展示庞杂数据的产品.DataV旨让更多的人看到数据可视化的魅力,帮助非专业的工程师通过图形化的界面轻松搭建专业水准的可视化应用,满足您会议展览.业务监 ...
- k-近邻(KNN) 算法预测签到位置
分类算法-k近邻算法(KNN): 定义: 如果一个样本在特征空间中的k个最相似 (即特征空间中最邻近) 的样本中的大多数属于某一个类别,则该样本也属于这个类别 来源: KNN算法最早是由Cover和H ...
- QT QcustomPlot的使用(二)
在QcustomPlot中,给横纵坐标添加箭头的方法 //在末尾添加箭头 customPlot->xAxis->setUpperEnding(QCPLineEnding::esSpikeA ...
- [游戏复刻] 2048(2014. Android)
等哪一天我有很多很多的时间再写吧...