毕业作品网站

 首 页 机械毕业设计 电子电气毕业设计 计算机毕业设计 土木工程毕业设计 视觉传达毕业设计 理工论文 文科论文 毕设资料 帮助中心 设计流程 
垫片
您现在所在的位置:首页 >>计算机毕业设计 >> 文章内容
                 
垫片
   我们提供全套毕业设计和毕业论文服务,联系微信号:biyezuopinvvp QQ:1015083682   

基于QT的正则表达式转NFA转DFA系统设计 毕业论文+项目源码

文章来源:www.biyezuopin.vip   发布者:毕业作品网站  


目录
一、 编程环境 1
二、 数据结构分析 1
三、 正则表达式转NFA 2
四、 NFA转DFA 6
五、 最小化DFA 7
六、 图形化界面设计 8
七、 可以改进的地方 10
一、编程环境
语言: c++ 11
IDE:qt creator、 CLion
界面库:qt、GraphViz
开发平台:mac,Windows下未做测试
编译该项目,必须本地已经下载安装GraphViz,并且需要修改lex.h中的dot常量为你的系统中dot命令的位置。如果是mac系统,你可以通过 which dot 查看具体位置。
const string dot  = "/usr/local/bin/dot";
二、数据结构分析
正则表达式由用户输入,使用string类型简单存储,正则表达式分为两个部分:运算符部分和标识符部分
NFA和DFA类的成员变量:
MyGraph:因为NFA,DFA每个节点有多个出度,多个入度,用图表示最合适的存储方式,定义了图的数据结构用来存储整个数据
StartStatus:存储开始状态序号,相当于头部指针
EndStatus:存储结束状态序号,相当于尾部指针
mVexs:对应的NFA或者DFA的节点集合,NFA集合是一维数组,DFA的节点集合是二维集合,每个节点的信息为对于的NFA转换的状态集合
MyGraph:图的具体实现
mMatrix: 使用一个二维整形数组存储了节点的边之间的关系,值为一个char型的vector,这里是考虑到两个节点之间可能有多条同向边。
mVexNum:节点的数量,辅助变量,便于后面的分析。
mEdgeNum:边的数量,辅助变量,便于后面的分析。







  全套毕业设计论文现成成品资料请咨询微信号:biyezuopinvvp QQ:1015083682     返回首页 如转载请注明来源于www.biyezuopin.vip  

                 

打印本页 | 关闭窗口
本类最新文章
基于MatlabSimulink 35kV输电线路继电保护的设计 分布式风电场低电压穿越故障建模与
大学生内容分享和社交平台的设计与 基于SSM框架的企业人事薪酬管理 基于大模型的代码注释自动生成与维
| 关于我们 | 友情链接 | 毕业设计招聘 |

Email:biyeshejiba@163.com 微信号:biyezuopinvvp QQ:1015083682  
本站毕业设计毕业论文资料均属原创者所有,仅供学习交流之用,请勿转载并做其他非法用途.如有侵犯您的版权有损您的利益,请联系我们会立即改正或删除有关内容!