设计 任务书 文档 开题 答辩 说明书 格式 模板 外文 翻译 范文 资料 作品 文献 课程 实习 指导 调研 下载 网络教育 计算机 网站 网页 小程序 商城 购物 订餐 电影 安卓 Android Html Html5 SSM SSH Python 爬虫 大数据 管理系统 图书 校园网 考试 选题 网络安全 推荐系统 机械 模具 夹具 自动化 数控 车床 汽车 故障 诊断 电机 建模 机械手 去壳机 千斤顶 变速器 减速器 图纸 电气 变电站 电子 Stm32 单片机 物联网 监控 密码锁 Plc 组态 控制 智能 Matlab 土木 建筑 结构 框架 教学楼 住宅楼 造价 施工 办公楼 给水 排水 桥梁 刚构桥 水利 重力坝 水库 采矿 环境 化工 固废 工厂 视觉传达 室内设计 产品设计 电子商务 物流 盈利 案例 分析 评估 报告 营销 报销 会计
 首 页 机械毕业设计 电子电气毕业设计 计算机毕业设计 土木工程毕业设计 视觉传达毕业设计 理工论文 文科论文 毕设资料 帮助中心 设计流程 
垫片
您现在所在的位置:首页 >>计算机毕业设计 >> 文章内容
                 
垫片
   我们提供全套毕业设计和毕业论文服务,联系微信号:biyezuopin QQ:2922748026   
基于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:边的数量,辅助变量,便于后面的分析。







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

                 

打印本页 | 关闭窗口
本类最新文章
基于Python的在线自主考试系 基于腾讯云的个人知识库管理系统 基于Android的酒店预定系统
基于matlab变频器控制交流电 基于微信小程序的家校联动平台管理 基于时频分析与自适应滤波技术的多
| 关于我们 | 友情链接 | 毕业设计招聘 |

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