资源简介
编译原理课程中实验:
非确定有限自动机确定化的方法和过程
还存在的小问题:继承状态集合的丢失,即从二级继承状态集合开始,没有将上继状态集合名字打印出来,由于时间问题,没有做进一步的处理。
代码片段和文件信息
/**
*NFA转DFA
*/
#include
#include
#include
//定义最大的数组值
#define MAXS 100
#define START 0 //状态的开始状态标志
#define ACCEPT 1//状态的接受状态标志
#define MARKED 0//标记
#define UNMARKED 1//未标记
using namespace std;
//状态s
struct s
{
string s_name; //s的标号名字
int s_state; //s的状态(开始状态0/接受状态1)
}START_STATE; //开始状态
//边
struct edge
{
s startNode;
s endNode;
string transSymbol;
}EDGE[MAXS]EMPTY_EDGE[MAXS]NOT_EMPTY_EDGE[MAXS];
//状态集合T
struct T
{
string T_name;
string UP_T_name; //通过转换符获得此状态的状态名(可以说是父状态名)
string T_transSymbol; //转换符
s s_set[MAXS];
int T_size;
int T_flag; //T的标志位,标识T是否被标记,!!!!采用栈的运算,此标志位暂时不用
}NFA_TDFA_T[MAXS];
//转换符
string TRANSSYMBOL[MAXS];
/*数据结构的定义*/
int TRANS_SYMBOL_COUNT = 0; //转换
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 304128 2009-09-16 21:40 NFA2DFA\Debug\NFA2DFA.bsc
文件 598096 2009-09-18 13:26 NFA2DFA\Debug\NFA2DFA.exe
文件 836280 2009-09-18 13:26 NFA2DFA\Debug\NFA2DFA.ilk
文件 370832 2009-09-18 13:26 NFA2DFA\Debug\NFA2DFA.obj
文件 2353936 2009-09-17 21:25 NFA2DFA\Debug\NFA2DFA.pch
文件 1172480 2009-09-18 13:26 NFA2DFA\Debug\NFA2DFA.pdb
文件 221738 2009-09-16 22:06 NFA2DFA\Debug\NFA2DFA.sbr
文件 99328 2009-09-18 13:26 NFA2DFA\Debug\vc60.idb
文件 159744 2009-09-18 13:26 NFA2DFA\Debug\vc60.pdb
文件 10461 2009-09-18 13:26 NFA2DFA\NFA2DFA.cpp
文件 3413 2009-09-15 01:03 NFA2DFA\NFA2DFA.dsp
文件 522 2009-09-15 01:44 NFA2DFA\NFA2DFA.dsw
文件 50176 2009-09-18 13:27 NFA2DFA\NFA2DFA.ncb
文件 54784 2009-09-18 13:27 NFA2DFA\NFA2DFA.opt
文件 1147 2009-09-18 13:26 NFA2DFA\NFA2DFA.plg
文件 5976 2009-09-13 22:56 NFA2DFA\NFA2DFA参考.cpp
文件 7079 2009-09-14 13:03 NFA2DFA\NFA2DFA参考2.cpp
目录 0 2009-09-21 14:37 NFA2DFA\Debug
目录 0 2009-09-21 14:37 NFA2DFA
文件 45783 2009-10-10 20:56 NFA转DFA结果截图.jpg
----------- --------- ---------- ----- ----
6295903 20
- 上一篇:2007数学建模竞赛B
- 下一篇:定时打铃器专业课程设计报告
评论
共有 条评论