您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 3.编译课程设计报告模版
课程设计报告(2014--2015年度第一学期)名称:编译技术课程设计题目:院系:控制与计算机工程班级:软件1201学号:学生姓名:指导教师:王红/齐林海/徐欢设计周数:一周成绩:日期:2015年1月16日课程设计报告11课程设计的目的和要求1.1课程设计的目的本次设计的时间为1周,目的是通过使用高级语言实现部分算法加强对编译技术和理论的理解。设计的题目要求具有一定的规模,应涵盖本课程内容和实际应用相关的主要技术。1.2课程设计的要求1、包括下列各种可能出现的文法描述方法;2、可以使用定义方式描述文法;3、可以使用产生式描述文法;4、用大写字母和小写字母分别表示非终结符和终结符;产生式使用-;5、文法中的空字符串统一使用@表示;6、判断给定文法是乔姆斯基文法中的哪一种文法;用红色字体标注的题目在课程设计报告上必须有。包括1目的和要求;2,系统描述,3,概要设计;4,详细设计;5,测试2系统描述(对相应题目的问题域描述)举例如下:本次实验使用windowsXP的visualC++软件,利用递归下降法实现IF-ELSE的条件语句的翻译程序设计,输出三地址表示,程序只能处理简单的布尔表达式和最简单的赋值语句,布尔表达式能够实现大于和小于的识别,也能处理关系运算符=和=的布尔表达式。程序的词法分析的结果和用到的文法是显示到dos界面上,而语法分析的结果则保存在jieguo.txt中,打开它就知道语法分析的结果和中间代码的输出了。课程设计报告22.1文法的描述if-XthenYelseY;X-idid;X-idid;X-id=id;X-id=id;Y-id=id;2.2属性文法的描述属性文法(也称属性翻译文法)是Knuth在1968年首先提出的。它是在上下文无关文法的基础上,为每个文法符号(终结符或非终结符)配备若干相关的“特性”(称为属性)。表2-1条件语句及其语义规则产生式语义规则S-ifEthenS1elseS2E.true:=biaozhi++;E.fals:=ebiaozhi++;S1.next:=S.next;S2.next:=S.next;S.code:=E.cod||gen(E.true‘:’)||S1.code||gen(‘goto’S.next)||gen(E.false‘:’)||S2.code3概要设计课程设计报告33.1概要设计(体现系统的设计思路和主要功能)首先在源程序相同的目录下创建一个txt文档,并在文档中输入需要编译的程序即if-else语句,然后定义一个输入流文件,利用这个流文件中的open函数打开我需要编译的txt文件,在调用初始化各种变量的初始化函数。接着开始进行词法分析,词法分析程序的主要任务是对构成源程序的字符串从左到右的扫描,逐个字符地读入源程序字符并按照构词规则切分成一个一个具有独立意义的单词。并确定其属性(如保留字、标识符、运算符、界限符和常量等)。再把它们转换成长度统一的标准形式—属性字。词法分析是编译过程中的第一个阶段,在语法分析前进行。也可以和语法分析结合在一起作为一遍,由语法分析程序调用词法分析程序来获得当前单词供语法分析使用。单词的分类(五类):1.关键字:由程序语言定义的具有固定意义的标识符。也称为保留字或基本字。2.标识符:用来表示程序中各种名字的字符串。3.常数:常数的类型一般有整型、实型、布尔型、文字型。4.运算符:如+、-、*、/等。5.界限符:如逗号、分号、括号等。但是我做的这个实验没有用到那么多东西,词法分析的有效字符串为:IF,ELSE,THEN,,,.=,=,=,和从a到z的单个标识符,但是程序还是相对来说比较简单,复杂的表达式可能不能处理,以后会改进。而词法分析的结果就是将相应的单词赋予不同的属性值,利用词法分析表将结果保存起来,为后面的语义分析做准备。词法分析完成之后就是把词法分析的结果都显示出来。语法分析的过程在上面已经有了说明,语法分析完了之后就是打印中间代码的三地址形式,根据上面的结果,三地址的数组里面已经存储了编译的具体信息,之需要按照相应的算符,将他们输出出来,即可看到中间代码的三地址表示形式。3.2系统用例图【必须有】以用例图的方式说明系统的所应该完成的主要任务。【参看相关书籍或资料】可以参看老师给的《网络内容管理系统--需求规格说明书》中的类图、用例图等图3-1系统用例图课程设计报告43.3系统用例【必须有】用例写法参看下面表3-4添加学生信息用例用例名称添加学生信息简述通过导入EXCEL文件添加学生信息角色教务管理员、超级管理员前置条件已经进入学生信息管理界面基本流1.用户在学生信息管理界面中点击“导入”2.出现文件浏览对话框,选择需要导入的EXCEL文件,点击“确定”3.系统验证EXCEL文件表头并且调整表头顺序4.系统循环读取EXCEL文件每一行5.系统将正确的学生信息存入数据库6.系统提示成功导入数量及信息异常的记录数量7.系统刷新学生信息管理界面的学生信息列表【用例结束】备选流3.1EXCEL文件表头缺少学号、姓名、性别、出生日期、专业、班级、联系方式、生源所在地其中任意一项a系统返回学生信息管理界面【用例失败】4.1学号为空a信息异常的记录数量+1b跳过这条记录返回【4】4.2数据库中已存在该学号a信息异常的记录数量+1b跳过这条记录返回【4】后置条件导入成功特殊需求只能导入EXCEL文件待解决问题自动补齐EXCEL文件表头课程设计报告53.4开发环境4详细设计(要包括类图和主要算法流程图)4.1系统的类图【必须有】画出系统的所包括的所有类及类之间的关系图。课程设计报告64.2主要算法的流程图【必须有】图4-1词法分析程序流程图4.3数据分析与定义【必须有】主要数据的类型说明,可以以表的方式说明。例如:自动机、产生式等数据结构的设计。词法分析读取下一单词是IF,调用E结束输出三地址表示代码输出词法分析初始化输入txt文件名E递归子程序读取下一单词语法分析:递归程序S置结束标志课程设计报告74.4系统界面设计5测试方法和测试结果根据系统的功能将至少2个以上的测试结果分别写出,能够体现系统的全部功能。例如文法要求判断乔姆斯基文法,则至少应包括5类文法进行测试,不是文法、0型、1型、2型、3型五种文法进行测试。5.1测试用例1测试目的:是否能够生成相应的正确的三地址指令输入如程序5-1所示。IF(a=b)THENIF(cd)THENx=e;ELSEx=f;ELSEIF(gh)THENx=i;ELSEx=j;#程序5-1测试用例1输出结果如图5-1所示。课程设计报告8图5-1图的说明文字图5-2图的说明文字5.1测试用例2测试目的:检验出,在哪些条件下输出为错误的例子输入如程序5-2所示。IF(ab)THENix=a;课程设计报告9ELSEi=b;#输出结果如图5-3所示。图5-3图的说明文字5.1测试用例3IF(ab)THENi=a+b;ELSEi=b+c;输出结果如图5-4所示。图5-4图的说明文字课程设计报告10结论和展望(主要为研制过程,本设计的评价、特点、不足、收获与体会等)结论本次实验做的比较简单,不能对复杂的布尔表达式和复杂赋值语句进行处理,基本上满足了实验的基本要求,输出的格式也符合三地址表示的形式,特点是基本实现了嵌套,可以实现对=,=,,等的处理,体现出了递归下降法的思想,递归函数的算法符合题目的要求。展望本次实验的不足还有很多,程序只能对单个字母的标识符进行识别,上面的错误例子1就是这样的不足导致的。同时对于复杂的赋值语句也无法进行处理,也就是上面的错误例子2。对于带有运算符的赋值语句,暂时还没有实现,等以后水平提升了以后,应该会进一步完善改算法。收获:通过本次实验,我收获了很多东西。首先对编译有了进一步的深刻理解,对递归下降法的思想有了很深的认识,同时对于语法分析的原理和过程都有了进一步的巩固,对于C++的编程水平也起到了锻炼的作用,巩固了平时所学的知识,真正做到了学以致用,对于各种结构体的运用也有了深刻的认识。学习编译技术课程的体会和对本门课程的评价在做实验的过程中,发现自己在编程序的过程中总是会忽略各种细节,从而导致每次都要改正很错小的低级错误才能正确运行,不仅浪费时间,还会影响到对其他错误地方的修改,在今后的编程中我会注意改正这方面的缺点,这样才能促使自己编程水平的不断进步。课程设计报告11参考文献(要求按公开发表的规范书写)参考文献要至少列出1个,格式如下。[1]第一作者姓名,第二作者姓名,第三作者姓名,等.文章题目.刊物名称,出版年号,刊号:页码范围[2]第一作者姓名.书名.出版地点:出版社名称,出版年号,页码范围举例如下:[1]科特勒(kotler,P.)等.何志毅等译.市场营销原理(亚洲版)[M],北京:机械工业出版社,2006,43-63.[2]薛华成.管理信息系统(5版)[M].北京:清华大学出版社,2007.8,106-133.[3]郭国庆.市场营销学通论(3版)[M].北京:中国人民大学出版社,2007,77-96.[4]WillianK,Michener,JamesW.Brunt&SusanG.Stafford.EnvironmentalInformationManagementandAnalysis:EcosystemtoGlobalScales[M],Taylor&FranicsLtd,London,Britain,1994,82-99.[5]Mcleod,ManagementInformationSystem[M],PrinticeHall,1998,46-69.[6]RobertLaurini,DerekThompson.FundamentalsofSpatialInformationSystems[M].AcademicPress,London,1993,88-108.[7]齐佳音,万岩,尹涛.客户关系管理[M].北京:北京邮电大学出版社,2006,55-103.[8]MichaelF.Worboys.GIS:AComputingPerspective[M].Taylor&FranicsLtd,London,Britain,1995,55-101.[9]舍里(shelly,G.B)等.李芳等译.系统分析与设计教程[M],北京:机械工业出版社,2004,79-96.[10]吴凤翔.高级语言程序设计VB[M].北京:中国林业出版社,2002.11,68-123.[11]龚沛曾,杨志强,陆慰民.VisualBasic.NET程序设计教程[M].北京:高等教育出版社,2005.7,78-99.[12]H.M.Hassan&CharlesHutchinson.NaturalResourceandEnvironmentalInformationforDecisionMaking[M].AWorldBankPublication,WashingtonD.C.,USA,1995,75-110.[13]季延平、郭鸿志合著.系统分析与设计[M].北京:华秦书,1995,39-86.[14]刘新民.VisualBasic6.0程序设计[M].北京:清华大学出版社,2004,61-101.[15]王勇领.计算机数据处理系统分析与设计[M].北京:清华大学出版社,1986,58-88.
本文标题:3.编译课程设计报告模版
链接地址:https://www.777doc.com/doc-2927434 .html