已阅读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年河北省迁安市辅警招聘考试试题题库附参考答案详解研优卷
- 2024年中南林业科技大学招聘真题(行政管理岗)
- 剧本委托创作合同(标准版)
- 海洋经济成果汇报
- 消防安全动画
- 2025黄骅教师考试试题及答案
- 2025年山西三类人员a证考试题库及答案
- 一级建造师考试题目及答案解析(2025版)
- 《异常子宫出血诊断与治疗指南(2022版)》解读
- 中国心力衰竭诊断和治疗指南2024解读(完整版)
- GB/T 36195-2018畜禽粪便无害化处理技术规范
- 11466现代企业人力资源管理概论第10章
- 护理敏感质量指标推动护理质量改善培训课件
- 挂篮施工安全事故的案例课件
- 尺寸检验记录表
- 《智能区域自动气象站建设规范》
- 《动力气象学》全套教学课件
- 指导培养青年教师记录表
- 交通安全情景剧剧本
评论
0/150
提交评论