编译原理课程设计任务书-2014秋学期.doc_第1页
编译原理课程设计任务书-2014秋学期.doc_第2页
编译原理课程设计任务书-2014秋学期.doc_第3页
编译原理课程设计任务书-2014秋学期.doc_第4页
全文预览已结束

下载本文档

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

文档简介

编译原理课程设计专业计算机科学与技术学生姓名 学生姓名班级计算机12x学号12xxxxxxxx任课教师 王 志 宏完成日期2015年1月23日编译原理课程设计任务书一课程设计的目的学生在学习编译原理课程过程中,结合各章节的构造编译程序的基本理论,总共用一周时间完成课程设计。要求用Pascal、C或C+语言描述及上机调试,实现五个题目中任选的一个,使学生将理论与实际应用结合起来,受到软件设计等开发过程的全面训练,从而提高学生软件开发的能力。二课程设计题目设计符号表、设计词法分析器、语法分析与中间代码产生器、优化器、目标代码生成器。三课程设计任务及要求 1设计符号表 确定符号表的组织方式,一般应包括名字栏和信息栏,其中名字栏作为关键字。要考虑能够存储有关名字的信息,并可以高效地完成如下操作:a.查找:根据给定的名字,在符号表中查找其信息。如果该名字在符号表中不存在; 则将其加入到符号表中,否则返回指向该名字的指针;b.删除:从符号表中删除给定名字的表项。2设计词法分析器 设计各单词的状态转换图,并为不同的单词设计种别码。将词法分析器设计成供语 法分析器调用的子程序。功能包括:具备预处理功能。将不翻译的注释等符号先滤掉,只保留要翻译的符号串,即要求设计一个供词法分析调用的预处理子程序;能够拼出语言中的各个单词;将拼出的标识符填入符号表;返回(种别码, 属性值)。3语法分析与中间代码产生器要求用递归子程序法实现对表达式、各种说明语句、控制语句进行语法分析。若语法正确,则用语法制导翻译法进行语义翻译:对说明语句,要求将说明的各符号记录到相应符号表中;对可执行语句,应产生出四元式中间代码并填写到三地址码表中;若语法错误,要求指出出错性质和出错位置(行号)。出错处理应设计成一个出错处理子程序。4. 优化器a. 局部优化:设计出划分基本块的算法,在每一个基本块中实现:合并已知量、删除多余运算和删除无用赋值三种局部优化。设计构造基本块的DAG图的算法,以及将DAG图还原实现基本块的优化的算法。b. 循环优化:只做一重循环优化,完成代码外提,强度削弱和删除归纳变量等三种优化。要求实现while循环和for循环语句的优化。5目标代码生成器c. 能完成指定寄存器个数的情况下将一中间代码程序段翻译成汇编语言目标代码(汇编指令应包括加、减、乘、除),要求指令条数最少的情况下,尽量使用寄存器,尽量少访问内存,这样才能做到运行效率高。四课程设计样本语言样本语言为PL/0语言(见参考书1),其中基本的表达式语句要求必须实现,其余部分可根据自己的实际情况选择实现。五课程设计要求 主要函数和过程要有框图描述,有功能说明,有入口和出口参数说明。六课程设计参考资料 编译原理,吕映芝、张素琴、蒋维杜编著,清华大学出版社 编译原理,Alfred V.Aho等,李建中译,机械工业出版社七课程设计考核办法1本课程设计采用考查方式记分。2上交材料:提交课程设计报告及源程序,打印稿和电子文档各一份。电

温馨提示

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

评论

0/150

提交评论