下载此文档

编译技术课程设计-自动机的状态转换图表示.doc


文档分类:论文 | 页数:约20页 举报非法文档有奖
1/20
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/20 下载此文档
文档列表 文档介绍
课程设计报告(2011--2012年度第一学期)名称:编译技术课程设计题目:自动机的状态转换图表示院系:控制与计算机工程学院班级:信安1001学号:学生姓名:指导教师:设计周数:一周成绩:日期:,目的是通过使用高级语言实现部分算法加强对编译技术和理论的理解。设计的题目要求具有一定的规模,应涵盖本课程内容和实际应用相关的主要技术。,可以手工以状态转换图的方式绘制自动机;,读取;;,自动绘制出状态转换图。2系统描述本次课程设计是在win7的环境下,使用visualC++。主要功能为描述一个确定的有限状态自动机,具体功能为绘制自动机,自动机转化为转移矩阵,转移矩阵自动转化为自动机。本课设中用圆圈表示状态,用大写字母表示,用弧线表示状态之间的转移关系,输入符号用小写字母表示,初态前面加箭头,终态集用双圆圈表示。本次课程设计只针对简单的自动机,状态表示仅限于26个大写字符,输入符号仅限于26个小写字符,存在一定的局限性。本软件支持图形文件的读取和保存,同时,可以读取描述状态机的TXT文件(固定格式),:M=(K,∑,f,S,Z),其中:1,K是一个有穷状态集,这里我们用单个大写字母表示2,∑是一个有穷输入符号集,这里我们用单个小写字母表示3,f是状态间的转换函数,形如:f(K,a)=D,表示K状态输入字符a之后自动转换到D状态4,S是唯一的初态5,,该矩阵的行表示状态,列表示输入符号,矩阵元素表示相应状态和输入符号后将要转换成的新状态,用“—>”表示初态,终态行在表尾部标以“1”,非终态标以“0”。,点击进行绘图操作,先选中图形,在界面上点击,出现一个图元。选中图元,右击出现快捷菜单,选择更改图元属性或者删除图元,重复操作,直到把整个自动机绘制完成。所有的图元都存放在CDocument类的两个链表中,这两条链分别为m_StatusList和m_RelationList,分别存放状态和关系图元。在OnDraw()函数中调用该链表进行绘图,保证图元可重复刷新和不丢失。对关系图元,我们用两个变量分别标记它的开始图元和终止图元,以表示状态和关系之间的联系,在装换成状态装换矩阵时,我们用这种联系找到状态和输入符号之间的转换关系,做出状态转换矩阵对于关系图元的位置,我们是根据其起始图元和终止图元的位置唯一确定的,这样,只要把状态图元的位置摆好了,关系弧也就不难画出来,根据这个巧妙的结构,在由转移矩阵绘制状态图时,我先设置状态的位置,然后关系弧线也就能轻而易举地画出来了。--,,鼠标左击窗口空白处,绘制相应的状态,状态默认为S;若是绘制关系,鼠标依次点击想要绘制的起点和终点,绘制相应的关系,(选中的图形会出现小方格表示选中状态),右击,出现快捷菜单,选择“删除”菜单来删除图元,选择“属性”,4,,取消绘图,,光标回到初始状态,绘图结束,若需要继续画图,需重新选择图元。,若没有选择图元,光标回到初始状态,。,,只需要在属性栏中将“初态”和“终态”,只需要选择弧,右击选择“属性”菜单,用“重置”和“添加”按钮设置输入符号,输入符号不允许空后置条件自动机状态图绘制完成特殊需求只能绘制指定的图元,,,选择弧线存在一定的误差。

编译技术课程设计-自动机的状态转换图表示 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数20
  • 收藏数0 收藏
  • 顶次数0
  • 上传人3346389411
  • 文件大小1.79 MB
  • 时间2016-11-27