




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
武汉理工大学编译原理课程设计指南学号:上课时间制定计策标题简单优先分析程序设计学院计算机科学技术学院转业软件工程专业半级软件工程1002类姓氏指导教师户口2013年1月亮12工作课程设计任务书学生名称:专业课:软件工程1002课指导教师:he 9周工作单位:计算机科学技术大学标题:简单优先级分析程序设计初始条件:编程语言:还可以主要使用c语言的开发工具,或使用LEX、YACC等工具来利用其他熟悉的开发工具。算法:可以根据编译原理课程讲授的算法进行设计。需要完成的主要任务:(包括课程设计工作量和技术要求、文档编制等特定要求)1.明确课程设计的目的和重要性,认真理解课程设计的主题,阅读课程设计指南的要求,学习设计的基本方法和步骤,学习使用以前的维修知识和收集,归纳相关资料解决特定问题。要严格要求自己独立思考,按时,独立完成课程设计任务。2.主要功能包括使用教材P104的上下文无关语法的简单优先分析程序、符号字符串b(aa)b的分析过程。(见教材P103-106)3.完整设计,详细设计:包括算法的设计和数据结构设计。系统实现,调试,合理使用错误处理程序。4.设计报告:要求水平明确、整齐的规范,不能互相抄袭。正文字数在0万3千字以上。包含内容:课程设计标题。名单。本文:介绍、需求分析、选择整体设计和开发工具、设计原理(提供语法分析方法和中间代码形式的说明、语法和属性语法的设计)、数据结构和模块说明(功能和流程图)、详细的算法设计、软件调试、软件测试方法和结果、对技术的讨论、收获和经验等。结束语。参考文献。附录:软件列表(或附件)。计划:消化资料,系统调查,形态说明1日系统分析、整体设计、实施计划3天课程设计报告创建1天教师签名指南:2013年1月12日系主任(或责任教师)的签名:2013年1月12日目录1简介-3-2需求分析-3-3整体设计-3-3.1定义简单优先级关系-4-3.2简单优先级分析的基本思路-4-3.3简单优先级关系矩阵流程图-5-3.4简单优先级分析流程图-6-3.5分析器配置-7-4选择开发工具-7-5详细的算法设计-7-5.1简单优先级关系矩阵输出算法-7-5.2读取字符串-8-5.3字符串分析算法-8-5.4优先关系判断算法-9-接近5.5-协议算法-9-5.6分析结果判断-11-6软件调试-11-7软件测试方法和结果-12-8技术讨论-13-9收获和经验-14-10结论-14-11参考资料-15-12附录-15-简单优先分析程序设计引言1上下文无关语法是形式语言理论的重要变体语法,用于说明上下文无关语言,在乔姆斯基分层中称为类型2语法。编程语言的语法基本上是上下文无关的语法,因此应用广泛。简单优先级分析在语法中的各种符号(结束符号和非结束符号)之间预先建立了所谓的优先级关系,而在分析句型(标准句型,如下所示)时,从左到右依次浏览其中的符号,每个扫描的符号确定其后缀符号和后缀符号之间的优先级关系,然后从后缀符号向后返回,反向扫描,每个扫描的符号检查其前面符号和其后符号之间的优先级关系,直到找到句柄的头为止本文采用简单优先级分析,分析上下文无关语法,给出语法的简单关系优先级矩阵,分析测试用例。2需求分析此过程旨在实现给定上下文无关语法的简单优先级分析器,并提供字符串的分析过程。上下文无关语法GS:S:=bAbA 33363603360=(b | aB B:=Aa)测试字符串:b(aa)b3整体设计本文使用为所有字符串提供分析过程的简单优先级分析来实现指定上下文无关语法的分析程序。3.1简单优先级关系的定义将G=(VN,VT,P,S)设定为简单语法,v=VNVT,并将Si和Sj设定为v的两个符号之一。如果g有这样的标准句型=.sisj.这两个相邻符号Si、Sj和的句柄之间的关系必须是以下情况之一:(1)如果Si位于句柄中,Sj未显示在句柄(图42(a)中,则Si显然是句柄的后缀,因此g具有ASi等公式,因此Si在Sj之前收缩。此时,符号Si优于Sj,并记录为Si Sj。此外,Sj出现在规格句型的句柄右侧,表明Sj是终止符号。(2)如果Si和Sj都在alpha句柄(图42(b)中,则g必须具有ASiSj等形式,以便Si和Sj组合在一起。此时,Si的优先级与Sj相同,且标记为Si=Sj。(3)如果Sj在句柄中,Si不在句柄中(如图42(c)所示),则Sj显然是句柄的头符号,因此g中的a Sj.必须具有类似的形式,以便在Si之前返回SJ。此时,对于Si和Sj的优先级,Si是否低于Sj,写为SiTRj?K-iS k-1)Return falseIf (rel=| | rel=) Return trueReturn false5.5近似协议算法交换机(c)Case S:/结束if(s . pop()=#)Returnthrow new Exception();盘柜b :/sIf(s.pop()=A)If(s.pop()=b)S . push(S);Returnthrow new Exception();盘柜b :/aIf(s.pop()=()s . push(A);Returnthrow new Exception();Case a:/As . push(A);ReturnCase ):/BIf(s.pop()=a)If(s.pop()=A)s . push(B);Returnthrow new Exception();Default:throw new Exception();5.6分析结果判断If (S. isempty ()System.out.println(“分析成功”); elseSystem.out.println(“分析失败”);Catch(Exception e)System.out.println(“分析失败”);6软件调试使用Eclipse附带的功能调试源代码,直到没有语法错误或语义错误。7软件测试方法和结果1.程序界面:2.给定的测试字符串:b(aa)b#3.测试任意字符串:8技术讨论简单优先级分析简单,从设计分析程序到特定语法分析,有一套机械构成简单优先级矩阵的公式算法。这似乎是一种可靠有效的方法,但不是。这主要表现为对语法的要求很强。例如,本课程设计分析的语法是上下文无关语法。因为在一般语法方面,特定符号对之间的优先关系可能不止一个。也就是说,给定的语法往往不是简单的优先语法。尤其是语法有左递归的时候,这种情况经常发生。因此,在实际使用过
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 9.2 直线、平面平行的判定与性质说课稿-2025-2026学年中职基础课-基础模块下册-语文版-(数学)-51
- 声音的强弱(教学设计)-湘艺版(2024)音乐一年级下册
- 申请先进团支部汇报总结
- 第9课 横折教学设计-2025-2026学年小学书法练习指导三年级上册北师大版
- 污水处理流程图
- 幼儿园教学教研现场汇报
- 公司消防知识培训记录课件
- 手机活动营销方案
- 手术室护士外出开会汇报
- (完整版)针灸晕针应急预案
- 2020年全国II卷英语高考真题试题(答案+解析)
- 《林佳明经方实践录》记录
- 宅基地转让协议书
- 十年(2015-2024)高考真题数学分项汇编(全国)专题25 新定义综合(数列新定义、函数新定义、集合新定义及其他新定义)(教师卷)
- 酒店数字化运营概论 课件 1.1 信息技术、数字技术与企业运营
- 重大质量事故纠正预防措施报告
- 日语N2必备单词
- 燃气行业数字化转型实施路径
- 抖音短视频运营直播带货KPI绩效考核指标(抖音直播运营规划方案 抖音直播部门组织架构及职责说明)
- 去极端化教育课件
- YY/T 0661-2008外科植入物用聚(L-乳酸)树脂的标准规范
评论
0/150
提交评论