编译课程设计报告模版_第1页
编译课程设计报告模版_第2页
编译课程设计报告模版_第3页
编译课程设计报告模版_第4页
编译课程设计报告模版_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 课程设计报告 ( 2014-2015年度第一学期)名 称: 编译技术课程设计 题 目: 院 系: 控制与计算机工程 班 级: 软件1201 学 号: 学生姓名: 指导教师: 王红/齐林海/徐欢 设计周数: 一周 成 绩: 日期:2015年 1 月16日1 课程设计的目的和要求黑体小二号,英文同中文字体,居中,段间距1.5倍行距,段前、段后1行1.1 课程设计的目的黑体小三号,英文同中文字体,左对齐,段间距1.5倍行距,段前、段后0行本次设计的时间为1周,目的是通过使用高级语言实现部分算法加强对编译技术和理论的理解。设计的题目要求具有一定的规模,应涵盖本课程内容和实际应用相关的主要技术。1.2

2、 课程设计的要求1、包括下列各种可能出现的文法描述方法正文,宋体,Times NewRoman,行间距固定值20磅;2、可以使用定义方式描述文法;3、可以使用产生式描述文法;4、用大写字母和小写字母分别表示非终结符和终结符;产生式使用-;5、文法中的空字符串统一使用表示;6、判断给定文法是乔姆斯基文法中的哪一种文法;用红色字体标注的题目在课程设计报告上必须有。包括1 目的和要求;2,系统描述,3,概要设计;4,详细设计;5,测试2 系统描述(对相应题目的问题域描述)举例如下:本次实验使用windows XP的visual C+软件,利用递归下降法实现IF-ELSE的条件语句的翻译程序设计,输出

3、三地址表示,程序只能处理简单的布尔表达式和最简单的赋值语句,布尔表达式能够实现大于和小于的识别,也能处理关系运算符=和X then Y else Y; X-ididid; X-idid=id; Y-id=id;2.2 属性文法的描述属性文法(也称属性翻译文法)是Knuth在1968年首先提出的。它是在上下文无关文法的基础上,为每个文法符号(终结符或非终结符)配备若干相关的“特性”(称为属性)。表2-1 条件语句及其语义规则所有的表的标注放在表的上面,中文宋体,英文New Times Roman,五号,居中产生式语义规则S-if E then S1 else S2E.true:= biaozhi

4、+;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.code表的左右两端没有边框3 概要设计3.1 概要设计(体现系统的设计思路和主要功能)首先在源程序相同的目录下创建一个txt文档,并在文档中输入需要编译的程序即if-else语句,然后定义一个输入流文件,利用这个流文件中的open函数打开我需要编译的txt文件,在调用初始化各种变量的初始化函数。接着开始进行词法分析,词法分析程序的主要任务是对构成源程序

5、的字符串从左到右的扫描,逐个字符地读入源程序字符并按照构词规则切分成一个一个具有独立意义的单词。并确定其属性(如保留字、标识符、运算符、界限符和常量等)。再把它们转换成长度统一的标准形式属性字。词法分析是编译过程中的第一个阶段,在语法分析前进行 。也可以和语法分析结合在一起作为一遍,由语法分析程序调用词法分析程序来获得当前单词供语法分析使用。单词的分类(五类):1. 关键字:由程序语言定义的具有固定意义的标识符。也称为保留字或基本字。2. 标识符:用来表示程序中各种名字的字符串。3. 常 数:常数的类型一般有整型、实型、布尔型、文字型。4. 运算符:如+、 、*、/ 等。5. 界限符:如逗号、

6、分号、括号等。但是我做的这个实验没有用到那么多东西,词法分析的有效字符串为: IF,ELSE,THEN, ,.=,=,和从a到z的单个标识符,但是程序还是相对来说比较简单,复杂的表达式可能不能处理,以后会改进。而词法分析的结果就是将相应的单词赋予不同的属性值,利用词法分析表将结果保存起来,为后面的语义分析做准备。词法分析完成之后就是把词法分析的结果都显示出来。语法分析的过程在上面已经有了说明,语法分析完了之后就是打印中间代码的三地址形式,根据上面的结果,三地址的数组里面已经存储了编译的具体信息,之需要按照相应的算符,将他们输出出来,即可看到中间代码的三地址表示形式。3.2 系统用例图【必须有】

7、以用例图的方式说明系统的所应该完成的主要任务。【参看相关书籍或资料】可以参看老师给的网络内容管理系统-需求规格说明书中的类图、用例图等图3-1 系统用例图3.3 系统用例【必须有】用例写法参看下面表3-4 添加学生信息用例用例名称添加学生信息简述通过导入EXCEL文件添加学生信息角色教务管理员、超级管理员前置条件已经进入学生信息管理界面基本流1. 用户在学生信息管理界面中点击“导入”2. 出现文件浏览对话框,选择需要导入的EXCEL文件,点击“确定”3. 系统验证EXCEL文件表头并且调整表头顺序4. 系统循环读取EXCEL文件每一行5. 系统将正确的学生信息存入数据库6. 系统提示成功导入数

8、量及信息异常的记录数量7. 系统刷新学生信息管理界面的学生信息列表【用例结束】备选流3.1 EXCEL文件表头缺少学号、姓名、性别、出生日期、专业、班级、联系方式、生源所在地其中任意一项a 系统返回学生信息管理界面【用例失败】4.1 学号为空a 信息异常的记录数量+1b 跳过这条记录返回【4】4.2 数据库中已存在该学号a 信息异常的记录数量+1b 跳过这条记录返回【4】后置条件导入成功特殊需求只能导入EXCEL文件待解决问题自动补齐EXCEL文件表头3.4 开发环境4 详细设计(要包括类图和主要算法流程图)4.1 系统的类图【必须有】画出系统的所包括的所有类及类之间的关系图。4.2 主要算法

9、的流程图【必须有】词法分析读取下一单词是IF,调用E结束输出三地址表示代码 输出词法分析初始化输入txt文件名E递归子程序读取下一单词语法分析:递归程序S置结束标志图要求居中显示,图中文字的字体为小五号图4-1 词法分析程序流程图所有的图的标注放在图的下面,中文宋体,英文New Times Roman,五号,居中4.3 数据分析与定义【必须有】主要数据的类型说明,可以以表的方式说明。例如:自动机、产生式等数据结构的设计。4.4 系统界面设计5 测试方法和测试结果根据系统的功能将至少2个以上的测试结果分别写出,能够体现系统的全部功能。例如文法要求判断乔姆斯基文法,则至少应包括5类文法进行测试,不

10、是文法、0型、1型、2型、3型五种文法进行测试。5.1 测试用例1测试目的:是否能够生成相应的正确的三地址指令输入如程序5-1所示。IF (a=b) THEN IF (cd) THEN x=e;ELSE x=f;ELSE IF (gh) THEN x=i; ELSE x=j;#英文或程序为1.5倍行距,加%5灰色底纹中文宋体,英文New Times Roman,五号,居中1.5 倍行距,浅灰色阴影所有的程序标注放在程序的下面程序5-1 测试用例1输出结果如图5-1所示。图5-1 图的说明文字图5-2 图的说明文字5.1 测试用例2 测试目的:检验出,在哪些条件下输出为错误的例子输入如程序5-2

11、所示。IF (ab)THEN ix=a;ELSEi=b;#输出结果如图5-3所示。图5-3 图的说明文字5.1 测试用例3IF (a=,=,等的处理,体现出了递归下降法的思想,递归函数的算法符合题目的要求。展望本次实验的不足还有很多,程序只能对单个字母的标识符进行识别,上面的错误例子1就是这样的不足导致的。同时对于复杂的赋值语句也无法进行处理,也就是上面的错误例子2。对于带有运算符的赋值语句,暂时还没有实现,等以后水平提升了以后,应该会进一步完善改算法。收获:通过本次实验,我收获了很多东西。首先对编译有了进一步的深刻理解,对递归下降法的思想有了很深的认识,同时对于语法分析的原理和过程都有了进一

12、步的巩固,对于C+的编程水平也起到了锻炼的作用,巩固了平时所学的知识,真正做到了学以致用,对于各种结构体的运用也有了深刻的认识。学习编译技术课程的体会和对本门课程的评价在做实验的过程中,发现自己在编程序的过程中总是会忽略各种细节,从而导致每次都要改正很错小的低级错误才能正确运行,不仅浪费时间,还会影响到对其他错误地方的修改,在今后的编程中我会注意改正这方面的缺点,这样才能促使自己编程水平的不断进步。参 考 文 献(要求按公开发表的规范书写)参考文献要至少列出1个,格式如下。1第一作者姓名,第二作者姓名,第三作者姓名,等.文章题目.刊物名称,出版年号,刊号:页码范围左顶格,宋体5号2 第一作者姓

13、名.书名.出版地点:出版社名称,出版年号,页码范围用阿拉伯数字书写,如:1980,29-30页举例如下:1 科特勒(kotler,P.)等何志毅等译市场营销原理(亚洲版)M,北京:机械工业出版社,2006,43-63.2 薛华成管理信息系统(5版)M. 北京:清华大学出版社,2007.8,106-133.3 郭国庆市场营销学通论(3版)M北京:中国人民大学出版社,2007,77-96.4 Willian K, Michener, James W. Brunt & Susan G. Stafford. Environmental Information Management and Analys

14、is: Ecosystem to Global ScalesM, Taylor & Franics Ltd, London, Britain, 1994,82-99. 5 Mcleod, Management Information SystemM, Printice Hall, 1998, 46-69.6 Robert Laurini, Derek Thompson. Fundamentals of Spatial Information SystemsM. Academic Press, London, 1993, 88-108.7 齐佳音,万岩,尹涛. 客户关系管理M. 北京:北京邮电大

15、学出版社,2006, 55-103.8 Michael F. Worboys. GIS: A Computing PerspectiveM. Taylor & Franics Ltd, London, Britain, 1995,55-101. 9 舍里(shelly,G.B)等李芳等译系统分析与设计教程M,北京:机械工业出版社,2004,79-96.10 吴凤翔. 高级语言程序设计VBM. 北京:中国林业出版社, 2002.11, 68-123.11 龚沛曾,杨志强,陆慰民Visual Basic.NET程序设计教程M北京:高等教育出版社,2005.7, 78-99.12 H. M. Hassan & Charles Hutchinson. Natural Resource and Environmental Inf

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论