实现了DFA,NFA算法,DFA最小化,NFA转化为DFA以及正则表达式转化为NFA的算法,是有限状态自动机的初学者很不错的学习资源
2019-12-21 22:07:01 42KB DFA NFA 最小化DFA Regex2NFA
1
编译原理课的大作业 包含三个小实验 在一个cpp文件里 正则表达式转换为nfa nfa转换为dfa dfa最小化 个人原创代码
2019-12-21 21:53:43 13KB 编译原理 NFA DFA
1
编译原理 词法分析 语法分析Java版【NFA DFA DFA最小化】【添加注释版】
2019-12-21 21:32:22 229KB NFA DFA DFA最小化 编译原理
1
用VC 6.0运行,完美编译运行,反正我们老师检查是完美的过
2019-12-21 20:29:17 21KB c++ 正则表达式 NFA DFA
1
自己用python做的编译原理作业,代码有点冗余,没有完善,顺利通过老师检查 编译原理(由字母表通过运用调度场算法到逆波兰表达式到NFA到DFA到最小化DFA),python,graphiviz实现可视化
2019-12-21 19:33:55 57KB python graphiviz 编译原理 DFA
1
编译原理实验,DFA最小化,输入DFA,输出最小化的DFA c++版代码.
2019-12-21 19:27:44 6KB 编译原理 DFA 最小化
1
已知一个正则表达式,把它转化为nfa,nfa转化为dfa,dfa最小化 用vc6.0完成的,可以立马用,很好很强大!
2019-12-21 18:56:13 6KB nfa dfa dfa最小化
1
本程序的基本数据结构是string类型的数组,用于储存划分的子集,而子集中的元素的邻接点与权值都在edge结构体数组中存储。 把一个DFA的状态分成一些不相交的子集,使得任何不同的两子集的状态都是可区别的,而同一子集中的任何两个状态都是等价的. 算法假定每个状态射出的弧都是完全的,否则,引入一个新状态,叫死状态,该状态是非终态,将不完全的输入弧都射向该状态,对所有输入,该状态射出的弧还回到自己。 1.构造状态的一初始划分:终态kt 和非终态K- kt两组(group) 2.对∏施用过程PP 构造新划分∏new 3.如∏new =∏,则令 ∏final=∏ 并继续步骤4,否则∏:=∏ new重复2 . 4.为∏final中的每一组选一代表,这些代表构成M’的状态。若k是一代表且f(k,a)=t,令r是t组的代表,则M’中有一转 换f’(k,a)=rM’ 的开始状态是含有S0的那组的代表 M’ 的终态是含有F的那组的代表 5.去掉M’中的死状态. 输入文本格式样例: 0 a 1 1 a 2 2 a 2 2 d 3 1 d 3 3 d 3 3 a 2 # 123 0 ad
2019-12-21 18:46:03 81KB DFA 编译原理 最小化
1