




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
编译原理 实习报告一 191103 魏晓东 编译原理实习报 告学院: 计算机学院 专业:计算机科学与技术 目 录一、题目要求 - 02二、算法思想 - 02三、程序设计 - 03四、运行截图 - 06五、心得体会 - 06右线性文法转换为有限自动机一、题目要求要求编写一个程序,输入一个右线性文法,输出与该文法等价的有限自动机。二、算法思想首先输入变量集、终结符集和开始符,输入变量集和终结符集时用逗号隔开,否则会提示出错。然后输入右线性文法的产生式,输入时即区分出产生式的左部和右部,点击添加产生式按钮提取产生式的左部和右部。如果产生式不符合要求,则提示出错,添加的产生式使用链表存储,每个节点表示一个产生式,每次点击添加后,程序将会新生成一个结点来表示产生式。产生式的具体数据结构如下所示:typedef struct List char leftVar10; /左侧字符char rightVar10; /右侧字符char endVar10; /终结符char endRightVar10; /右侧后部字符List *pNext; /next指针dfaList, *pdfaList;添加完成后,程序将从产生式链表的第一个结点开始扫描,从右部提取出前端的终结符,具体方法是定义一个UCHAR型的指针,从前端向后扫描,如果是小写字母(默认是非终结符),则将小写字母放入终结符集中,当扫描完前端后,指针继续后移,此时判断条件改变,如果不为“0”,即字符串没有结束,则将字符串中剩下的字符存储到右侧后部字符中。转换成自动机时,将先前提取出的各字符串按照正确位置放置,并以函数的形式输出,例如:产生式V0aV1,分别提取出V0,a和V1,然后将提取出来的V0,a和V1输出为f(V0,a)=V1,如果产生式形如V1b类型,则将以f(V1,b)=Q形式输出。三、程序设计程序流程图:程序开始载入文法用户输入文法读取文件内容输入终结符集输入变量集输入开始符添加产生式是否继续添加转换为自动机是否程序结束添加结点添加结点错误判断模块:根据输入的变量集、终结符集和开始符判断输入的文法是否为右线性文法,如果不是右线性文法,返回0,是右线性文法,则返回1。如果不正确,则不能插入结点,如果正确才可以将该产生式插入到链表中。/判断产生式输入是否正确int CDFADlg:ifCorrect()UpdateData(TRUE);TCHAR *strTmp;int i,iFind=0,ifMeet=0;/ifmeet是否遇到大写字母strTmp = m_Pro2.GetBuffer(0);if (*strTmpz | *strTmp=a & *strTmp=z)for (i=0;i20;i+)if (*strTmp=endVarArrayi & endVarArrayi!=)iFind=1;if (1 = iFind)*strTmp+;elsereturn 0;if (*strTmp = 0)return 1;if (*strTmpZ)return 0;CString strRight;while (*strTmp!=0)strRight+=*strTmp;strTmp+;iFind = 0;for (i=0;i=a & *strTmppNext;m_OutPut.Format(G=,m_Variable,m_EndSym,m_StartSym);while (p!=NULL)if (strcmp(p-endRightVar,)=0)temp2.Format(rnf(%s,%s)=Q,p-leftVar,p-endVar); else temp2.Format(rnf(%s,%s)=%s,p-leftVar,p-endVar,p-endRightVar);m_OutPut+=temp2;p = p-pNext;UpdateData(FALSE);四、运行截
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 急腹症影像诊断课件
- 碳化钨制备工岗前考核试卷及答案
- 遗传多样性对种群稳定性影响-洞察及研究
- 无氟防水材料开发-洞察及研究
- 健身人群2025年运动习惯研究:健身俱乐部智能化改造与用户体验提升
- 磨料制造工岗前考核试卷及答案
- 急慢性肠炎药店培训课件
- 急性阑尾炎课件教学
- 保险行业客户分层策略与2025年精准营销解决方案深度解析
- 保险行业客户分层与精准营销策略创新2025展望
- 中国心房颤动管理指南2025解读
- 《云计算与大数据》课件第3章“大数据”关键技术与应用
- 2025-2026学年人教大同版(2024)小学英语三年级上册教学计划及进度表
- 2025-2026学年陕旅版(三起)(2024)小学英语四年级上册(全册)教学设计(附目录)
- 2025年血液净化护理知识测试题库附答案
- 心电监护血氧饱和度监测技术
- 局工作秘密管理暂行办法
- 中国名菜鉴赏课件
- 智能仓储物流管理平台的设计与开发
- 2025上海戏剧学院辅导员考试试题及答案
- 2023年黑龙江省汤原县事业单位公开招聘辅警31名笔试题带答案
评论
0/150
提交评论