用java实现NFA到DFA的转换,并带有类图的设计(注意HashSet的使用与面向对象的思维)
2019-12-21 21:58:16 113KB NFA转换成DFA的java实现
1
编译原理课的大作业 包含三个小实验 在一个cpp文件里 正则表达式转换为nfa nfa转换为dfa dfa最小化 个人原创代码
2019-12-21 21:53:43 13KB 编译原理 NFA DFA
1
一篇介绍多种分形去趋势波动分析的的文章,包括方法的理论原理以及图例分析
2019-12-21 21:47:22 2.2MB MFDFA
1
编译原理 词法分析 语法分析Java版【NFA DFA DFA最小化】【添加注释版】
2019-12-21 21:32:22 229KB NFA DFA DFA最小化 编译原理
1
上编译原理课的时候做的几个小程序,包含一个简单的词法分析程序、正则表达式-NFA-DFA-MFA转换程序、表达式求值语义分析程序,其中正则表达式-NFA-DFA-MFA重点写的,花了不少心思,写得不是特别满意,今后会重新上传写得更好的。
2019-12-21 21:16:37 744KB 编译原理 正则表达式 NFA DFA
1
用C语言实现NFA到DFA的转换过程 NFA (nondeterministic finite-state automata)是不确定性有限状态自动机的简写,NFA的定义为: 一个不确定性有限状态自动机由以下部分所组成: A. 一个有限的输入字符集I B. 一个有限的状态集S C. 状态转换函数f: S x I -> P(S),P(S)为s的幂集 D. 一个结束状态集Q,Q是S的子集 E. 一个初始状态s0 (属于S) F. 表示为A(I, S, f, Q, s0) 与NFA相对应,DFA (deterministic finite-state automata)表示确定性有限状态自动机。与NFA不同,DFA不存在Epsilon转换,并且每一个状态转换函数的值只对应一个状态,即一个状态输入一个字符,只能有一个状态相对应。 NFA与DFA的区别 显然,DFA更加适合我们进行字符串匹配,因为输入一个字符,总能从一个状态确定地转换为另一个状态,直到终结状态。NFA一个输入可能对应多个状态,因此需要进行回溯,先尝试一条路径,发现走不通,再回退到原来的状态尝试另外一条路径,显然匹配算法不如DFA简单。 给定一个NFA,总有一个DFA与之对应,即一个NFA可以转换成一个等价的DFA,我们将使用子集构造算法实现NFA到DFA的转换。
2019-12-21 21:05:41 3KB NFA_DAFA
1
正则表达式转化为DFA程序的设计与实现.
2019-12-21 20:58:59 7.2MB 正则表达式 DFA
1
1. 实验内容 每一个正规集都可以由一个状态数最少的DFA所识别,这个DFA是唯一的(不考虑同构的情况)。任意给定的一个DFA,根据以下算法设计一个C程序,将该DFA 化简为与之等价的最简DFA。 2. 实验设计分析 2.1 实验设计思路 根据实验指导书和书本上的相关知识,实现算法。 2.2 实验算法 (1)构造具有两个组的状态集合的初始划分I:接受状态组 F 和非接受状态组 Non-F。 (2)对I采用下面所述的过程来构造新的划分I-new. For I 中每个组G do Begin 当且仅当对任意输入符号a,状态s和读入a后转换到I的同一组中; /*最坏情况下,一个状态就可能成为一个组*/ 用所有新形成的小组集代替I-new中的G; end (3)如果I-new=I,令I-final=I,再执行第(4)步,否则令I=I=new,重复步骤(2)。 (4)在划分I-final的每个状态组中选一个状态作为该组的代表。这些代表构成了化简后的DFA M'状态。令s是一个代表状态,而且假设:在DFA M中,输入为a时有从s到t转换。令t所在组的代表是r,那么在M’中有一个从s到r的转换,标记为a。令包含s0的状态组的代表是M’的开始状态,并令M’的接受状态是那些属于F的状态所在组的代表。注意,I-final的每个组或者仅含F中的状态,或者不含F中的状态。 (5)如果M’含有死状态(即一个对所有输入符号都有刀自身的转换的非接受状态d),则从M’中去掉它;删除从开始状态不可到达的状态;取消从任何其他状态到死状态的转换。 。。。。。。
2019-12-21 20:44:52 1KB DFA化简 C++ 编译原理
1
编译原理 刘坚 第二版答案 完整版,大家可以放心下载使用哈~
2019-12-21 20:39:23 3.24MB Compilers NFA DFA
1
使用JAVA实现编译原理的NFA确定化为DFA的文档报告和java源代码
2019-12-21 20:36:28 200KB NFA确定化DFA
1