编译技术课程设计--自动机的状态转换图表示.doc
《编译技术课程设计--自动机的状态转换图表示.doc》由会员分享,可在线阅读,更多相关《编译技术课程设计--自动机的状态转换图表示.doc(20页珍藏版)》请在咨信网上搜索。
1、 课程设计报告 ( 2011-2012年度第一学期)名 称: 编译技术课程设计 题 目: 自动机的状态转换图表示 院 系: 控制与计算机工程学院 班 级: 信安 1001 学 号: 学生姓名: 指导教师: 设计周数: 一周 成 绩: 日期:2013年 1 月12日 课程设计报告1 课程设计的目的和要求1.1 课程设计的目的本次设计的时间为1周,目的是通过使用高级语言实现部分算法加强对编译技术和理论的理解。设计的题目要求具有一定的规模,应涵盖本课程内容和实际应用相关的主要技术。1.2 课程设计的要求1. 要求设计一个具有绘图功能的程序,可以手工以状态转换图的方式绘制自动机;2. 图形化的自动机可
2、以保存,读取;3. 根据状态转换图得出自动机的状态转换矩阵;4. 根据状态转换矩阵,自动绘制出状态转换图。2 系统描述本次课程设计是在win 7的环境下,使用visual C+6.0软件制作的一个多功能绘图软件。主要功能为描述一个确定的有限状态自动机,具体功能为绘制自动机,自动机转化为转移矩阵,转移矩阵自动转化为自动机。本课设中用圆圈表示状态,用大写字母表示,用弧线表示状态之间的转移关系,输入符号用小写字母表示,初态前面加箭头,终态集用双圆圈表示。本次课程设计只针对简单的自动机,状态表示仅限于26个大写字符,输入符号仅限于26个小写字符,存在一定的局限性。本软件支持图形文件的读取和保存,同时,
3、可以读取描述状态机的TXT文件(固定格式),自动绘制状态机2.1 确定的自动机的描述一个确定的又穷自动机M是一个五元组:M=(K,f,S,Z),其中:1, K是一个有穷状态集,这里我们用单个大写字母表示2, 是一个有穷输入符号集,这里我们用单个小写字母表示3, f是状态间的转换函数,形如:f(K, a)=D,表示K状态输入字符a之后自动转换到D状态4, S是唯一的初态5, Z是终态集2.2 状态转移矩阵的描述一个确定的有限状态自动机还可以用一个矩阵表示,该矩阵的行表示状态,列表示输入符号,矩阵元素表示相应状态和输入符号后将要转换成的新状态,用“”表示初态,终态行在表尾部标以“1”,非终态标以“
4、0”。3 概要设计3.1 概要设计打开软件界面,点击进行绘图操作,先选中图形,在界面上点击,出现一个图元。选中图元,右击出现快捷菜单,选择更改图元属性或者删除图元,重复操作,直到把整个自动机绘制完成。所有的图元都存放在CDocument类的两个链表中,这两条链分别为m_StatusList和m_RelationList,分别存放状态和关系图元。在OnDraw()函数中调用该链表进行绘图,保证图元可重复刷新和不丢失。对关系图元,我们用两个变量分别标记它的开始图元和终止图元,以表示状态和关系之间的联系,在装换成状态装换矩阵时,我们用这种联系找到状态和输入符号之间的转换关系,做出状态转换矩阵对于关系
5、图元的位置,我们是根据其起始图元和终止图元的位置唯一确定的,这样,只要把状态图元的位置摆好了,关系弧也就不难画出来,根据这个巧妙的结构,在由转移矩阵绘制状态图时,我先设置状态的位置,然后关系弧线也就能轻而易举地画出来了。状态图选择图元点击绘制修改属性绘制图元读取文件读取状态转换矩阵删除保存状态图生成状态装换矩阵3.2 系统用例图用户图3-1 系统用例图3.3 系统用例表3-1 绘制自动机状态图用例名称绘制自动机状态图简述用鼠标点击结合键盘输入方式绘制自动机状态图前置条件打开软件基本流1. 在软件菜单或工具栏中选中需要绘制的图元2. 鼠标光标变成十字架形状,表示已经进入绘图状态3. 若是绘制状态
6、,鼠标左击窗口空白处,绘制相应的状态,状态默认为S;若是绘制关系,鼠标依次点击想要绘制的起点和终点,绘制相应的关系,输入符号默认为a4. 选中绘制的状态圆或者关系弧(选中的图形会出现小方格表示选中状态),右击,出现快捷菜单,选择“删除”菜单来删除图元,选择“属性”菜单来修改图元的状态和输入符号5. 重复步骤3,4,直到图形绘制完成备选流2.1 鼠标右击,取消绘图,鼠标变成箭头形式3.1 绘制一个图形后,光标回到初始状态,绘图结束,若需要继续画图,需重新选择图元。3.2 绘制关系弧线时,若没有选择图元,光标回到初始状态,绘图结束3.3 允许绘制从一个状态回到该状态本身的弧。4.1 删除状态时应先
7、删除和它联系的关系弧,否则会出错4.2 允许一个状态既是初态又是终态,只需要在属性栏中将“初态”和“终态”多选框都选上4.3 允许一条弧上有多个输入符号,只需要选择弧,右击选择“属性”菜单,用“重置”和 “添加”按钮设置输入符号,输入符号不允许空后置条件自动机状态图绘制完成特殊需求只能绘制指定的图元,关系只能绘制成弧线待解决问题3.1 由于弧线的确定是根据状态位置来的,所以不允许两个状态之间有两条同向的弧4.1 因为弧线范围难于确定,选择弧线存在一定的误差。4.2 因为同一条弧线上允许多个输入符号,所以弧线属性的设置不是很人性化。表3-2 状态图的文件操作用例名称状态图的文件操作简述状态图的文
8、件操作,包括文件的新建,保存,读取前置条件打开软件基本流1, 点击新建文件,清空窗口当前内容2, 对一个绘制好的状态图,点击保存,弹出文件对话框,选择相应的路径,输入文件文件名,保存文件3, 点击打开文件,弹出文件对话框,选择相应的路径和文件,打开文件,在窗口显示状态图备选流3.1 如果打开的文件格式不同,会弹出“非预定格式文件”窗口3.2 同一时间内只能打开一个文件后置条件文件新建,保存,读取完成特殊需求只能打开本程序保存的文件表3-3 状态图转化为状态装换矩阵用例名称状态图转化为状态装换矩阵简述状态图转化为状态装换矩阵前置条件自动机状态图已经绘制完成基本流1, 点击菜单栏中的“操作-生成状
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编译 技术 课程设计 自动机 状态 转换 图表
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【可****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【可****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。