ImageVerifierCode 换一换
格式:DOC , 页数:14 ,大小:133.51KB ,
资源ID:4304782      下载积分:8 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4304782.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     索取发票    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(08级编译课程设计题目.doc)为本站上传会员【快乐****生活】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

08级编译课程设计题目.doc

1、编译原理课程设计题目D类题目11、文法的表示12、自动机的表示23、自动机与正规文法间的相互转化24、正规文法与正规式间的相互转化25、符号串的最左推导和最右推导26、基本块的划分27、循环查找3C类31、构造语法树32、符号表的线性组织33、符号表的排序组织34、PL/0语言的词法分析程序45、使用逆波兰式方法设计一个计算器46、非LL(1)文法到LL(1)文法的等价变换4B类41、自动机的确定化和最小化42、自动机与正规式间的相互转化53、符号表的散列组织54、C语言的词法分析程序55、使用算符优先分析方法设计一个计算器56、使用LR(0)分析方法设计一个计算器67、使用预测分析方法设计一

2、个计算器6A类61、预测分析法在PL/0语言编译器中的应用62、PL/0语言编译器改进63、PL/0语言编译器的中间代码生成74、LL(1)文法和预测分析方法75、算符优先分析法研究76、LR(0)分析法研究87、自动机的状态转换图表示88、局部优化的实现8课程设计报告的撰写规范及要求913选题说明 学委负责把下列题目分发下去,学生在三个班级中任意组合,3-4人组成一个课题小组,共同完成选定的题目。三个班加在一起每道题目最多可以有两个小组选择。每个题目根据难度具有不同的分类,A类最难,综合能力较强,依次类推。 课程设计报告要求字数在2000字以上(不包括程序代码),报告设计格式参看2008级编

3、译技术课程设计报告模版。 源程序及课程设计报告检查完毕后,于1月5日前一起发送到邮箱:compiler2011。课程设计题目说明课程设计题目分为4种难度,分别为A类、B类、C类、D类。最高分数依次为100,90,85,75。【注意】无论下列哪一个题目,若涉及到输入(文法/自动机/表达式/源程序等等)不能通过键盘手动输入,必须通过文件的方式输入到程序中。D类题目1、符号串的最左推导和最右推导要求:1. 给定文法和符号串;2. 给出该符号串的最左推导、最右推导;3. 文法要求可以用文件方式和直接输入两种方法。2、基本块的划分要求:1. 从文件中读取任意一组四元式;2. 找出中间代码的入口语句;3.

4、 划分出程序的基本块。3、循环查找要求:1. 程序流图可以使用二维数组表示出结点间的关系;2. 求出所有结点的必经结点集;3. 找出流出中的回边;4. 给出每一个回边所对应的循环。4、使用逆波兰式方法设计一个计算器1. 计算器必须能够完成加、减、乘、除、幂、括号()等运算符号;2. 将一个中缀表达式转化为逆波兰式;3. 根据逆波兰式的计算方法计算出表达式的值;5、符号表的线性组织要求:1. 确定符号表的单表结构的总体组织方式,即所有的标识符都在一个符号表内;2. 设计符号表的顺序为线性组织方式。3. 设计符号表的属性,需要包括:符号名、数据类型、层次、在内存单元中的位置(假设数据从该过程活动记

5、录的第3个字节开始,前3个空间保存了返回地址、存取链等信息)4. 当读入的源程序为C语言程序/或PL/0语言 时,设置一个断点,获得到达断点时的符号表的内容;6、符号表的排序组织1. 确定符号表的单表结构的总体组织方式,即所有的标识符都在一个符号表内;2. 设计符号表的顺序为排序组织方式。3. 设计符号表的属性,需要包括:符号名、数据类型、层次、在内存单元中的位置(假设数据从该过程活动记录的第3个字节开始,前3个空间保存了返回地址、存取链等信息)4. 当读入的源程序为C语言程序/或PL/0语言 时,设置一个断点,获得到达断点时的符号表的内容;5. 设计函数或方法完成线形表的插入和删除操作。C类

6、1、构造语法树要求:1. 给定文法和符号串;2. 给出该符号串的语法树;3. 文法要求可以用文件方式和直接输入两种方法。2、符号表的散列组织1. 确定符号表的单表结构的总体组织方式,即所有的标识符都在一个符号表内;2. 设计符号表的顺序为散列组织方式,查阅资料构造一个好的散列函数。3. 设计符号表的属性,需要包括:符号名、数据类型、层次、在内存单元中的位置(假设数据从该过程活动记录的第3个字节开始,前3个空间保存了返回地址、存取链等信息)4. 当读入的源程序为C语言程序/或PL/0语言 时,设置一个断点,获得到达断点时的符号表的内容;设计函数或方法完成线形表的插入和删除操作。3、PL/0语言的

7、词法分析程序要求:1. 写一个能够完成PL/0语言的词法分析的程序;2. 将源程序文件中的单词识别出该单词是哪一个保留字、或者哪一个符号、或者是标识符、或者是常数;3. 将分析的结果以文件的方式输出;4. 该词法分析程序可以过滤掉多行注释 /* */和单行注释/。4、非LL(1)文法到LL(1)文法的等价变换要求:5. 文法可以只采用产生式的方式进行描述;6. 查出文法中是否含有左递归或左公因子;7. 消除左公因子,并给出分析过程;8. 消除左递归,并给出分析过程。9.5、使用LR(0)分析方法设计一个计算器要求:1. 计算器必须能够完成加、减、乘、除、幂、括号()等运算符号;2. 将算术运算

8、表达式写成LR(0)文法;3. 给定任意符号串,判断其是否为正确的表达式,若是给出计算结果;4. 进行语法分析必须采用LR(0)分析方法。6、使用预测分析方法设计一个计算器要求:1. 计算器必须能够完成加、减、乘、除、括号()等运算符号;2. 将算术运算表达式写成LL(1)文法;3. 给定任意符号串,判断其是否为正确的表达式,若是给出计算结果;4. 进行语法分析必须采用预测分析方法。7、使用算符优先分析方法设计一个计算器1. 计算器必须能够完成加、减、乘、除、幂、括号()等运算符号;2. 将算术运算表达式写成算符优先文法;3. 给定任意符号串,判断其是否是正确的表达式,若是给出计算结果;4.

9、进行语法分析必须采用算符优先分析方法。8、C语言的词法分析程序要求:1. 写一个能够完成C语言的词法分析的程序;2. 将源程序文件中的单词识别出该单词是哪一个保留字、或者哪一个符号、或者是标识符、或者是常数;3. 将分析的结果以文件的方式输出;4. 该词法分析程序可以过滤掉多行注释 /* */和单行注释/。B类1、自动机的确定化和最小化要求:1. 自动机以状态转换矩阵的方式在计算机内部进行表示;2. 根据NFA确定化的方法,将NFA确定化;3. 判断自动机是否以最小化,若不是将其最小化;4. 以状态转换矩阵的方法表示出确定化、最小化后的自动机。2、自动机与正规式间的相互转化要求:1. 自动机以

10、状态转换矩阵的方式在计算机内部进行表示;2. 将给定的任意自动机转化成等价的正规式;3. 将给定的任意正规式转化成等价的自动机;4. 自动机要求以文件方式输入;5. 正规式可以在程序中输入。3、预测分析法在PL/0语言编译器中的应用要求1. 将PL/0语言编译器中的语法分析部分修改,采用预测分析方法;2. 用机器内码表示出PL/0语言文法的终结符和非终结符;3. 产生式可以直接用机器内码以二维数组的方法存储到编译器中;4. 修改PL/0编译器,自己定义一个函数专门用来完成语法分析。4、PL/0语言编译器改进要求:1. 可以过滤掉行注释/ 和段注释 /* */;2. 字母不区分大小写3. 增加数

11、据类型:integer整型和real实型,包括:常数和变量。4. 变量定义修改为: var a,b:integer;c,d:real;5. 使用图形界面进行处理5、LL(1)文法和预测分析方法要求:1. 文法使用产生式来定义;2. 分别求出文法中每一个非终结符的FIRST 集、FOLLOW集和SELECT集;3. 画出预测分析表;4. 判定给定的文法是否是LL(1)文法;5. 给定符号串判定是否是文法中的句子,分析过程用分析表格的方式打印出来。6、算符优先分析法研究1. 文法使用产生式来定义;2. 分别给出每一个非终结符的FIRSTVT和LASTVT集。3. 画出算符优先关系表;4. 判定给定

12、的文法是否是算符优先文法;5. 给定符号串判定是否是文法中的句子,分析过程用分析表格的方式打印出来。A类1、PL/0语言编译器的中间代码生成要求:1. 要求用递归子程序法/或预测分析法实现对表达式、各种说明语句、控制语句进行语法分析。2. 若语法正确,则用语法制导翻译法进行语义翻译:对说明语句,要求将说明的各符号记录到相应符号表中;对可执行语句,应产生出四元式中间代码并填写到三地址码表中;3. 若语法错误,要求指出出错性质和出错位置(行号)。出错处理应设计成一个出错处理子程序。2、LR(0)分析法研究1. 文法使用产生式来定义;2. 给出项目集规范族(即所有的状态)。3. 给出状态间的关系。4

13、. 给出LR(0)分析表。5. 给定符号串判定它是否是文法中的句子,分析过程用分析表格的方式打印出来。3、自动机的状态转换图表示要求1. 要求设计一个具有绘图功能的程序,可以手工以状态转换图的方式绘制自动机;2. 图形化的自动机可以保存,读取;3. 根据状态转换图得出自动机的状态转换矩阵;4. 根据状态转换图,自动绘制出状态转换图(可以不完成)。4、局部优化的实现要求:1. 设计出划分基本块的算法;2. 在每一个基本块中实现:合并已知量、删除多余运算和删除无用赋值三种局部优化;3. 设计构造基本块的DAG图的算法,以及将DAG图还原实现基本块的优化的算法。5、C语言文本编辑器要求:1. 设计一

14、个类似UltraEdit的工具,将打开或输入的C语言源程序中的代码,以不同的颜色进行显示。例如:关键字,绿色;数字,蓝色等。2. 文件及文件夹目录结构在窗口的左侧以类似树型目录的方式显示出来,即显示出文件的层次结构关系,并且将不同文件在窗口中不同的标签页分别显示。3. 需要显示的内容可以进行设置,例如:关键字默认为一种颜色,在“设置”对话框中可以设置关键字的颜色。最好能解决不同颜色的冲突问题,至少应该提示,已经有这种颜色了。6、帮助自动生成工具设计一个类似Doc+这样的工具,将源文件中的注释倒出来形成一个帮助文档,可以是html格式的要求:1. 提供一个文档编辑窗口,可以在此窗口中打开已有文件

15、或新建文件,文件类型可以为*.c和*.java的源文件;2. 根据源文件中的注释,导出文件和函数的说明文件并将其形成文本文档或html文件;3. 可以给出一组包含多级文件夹的所有文件,并给出其文件包含关系的树形目录4. 在每个单独的帮助文件中,先给出此文件的总体说明及每一个函数的简单总表,然后给出每个函数的具体的帮助信息。5. 打开的文件及文件夹在左侧以属性结构显示出来,不同的文件分别以不同的标签页显示出来。7、变量检查工具实现对C语言中全局变量和共享变量的检查。要求:1. 检查全局变量是否是必须的。包括:该全局变量是否被引用过;全局变量是否只在1个函数内被引用。2. 若某一全局变量从来没有被

16、引用过,则可以将其删除3. 若某一全局变量只在一个函数内被引用和定值,是否可以将其修改为局部变量4. 当全局变量仅用于1个文档中,是否可以将其修改为静态全局变量提示:可以通过符号表对变量的存储类别的定义,来讨论变量的使用点,从而确定这些变量是否应该为局部变量、静态全局变量或全局变量。8、C语言过程活动记录的设计要求:1. 查阅相关资料,确定C语言的存储管理策略;2. 设计C语言的过程活动记录,可以设计简单的C语言,可以参考Minus-c来设计。3. 分析符号表的内容和管理,并通过实例考察。给定几个简单的程序,完成变量的取值和赋值,查看是否能够正确的存取变量。9、指针检查工具利用符号表,检查C语

17、言中对指针的使用。需要完成以下的检查,并指出可能出错的位置。假设源程序已经编译通过,即不用对其进行语法的检查了,只检查指针变量的语义是否正确。要求进行以下的检查:1. 指针变量是否初始化;2. 指针类型是否定义正确;3. 使用前是否已经申请的内存;4. 引用是否正确,是否引用了释放掉的内存空间10、数组越界检查工具检查C语言中对数组的使用。大多数的C语言编译器都不对数组越界进行检查。分析其原因,并想出解决办法。1. 列出C语言数组产生越界的原因;2. 设计工具专门检查是否有数组越界问题,并指出其位置。课程设计报告的撰写规范及要求 一、课程设计的版面 课程设计统一用计算机录入并打印。纸张规格为A

18、4,版面上、下空2.54cm,左、右空3.17cm、装订线0.5cm,位置为左装订页数用小五号字下居中标明。二、结构及要求 课程设计报告的组成及装订顺序:封面、目录、正文、参考文献、附录(源代码)。1封面包括题目、姓名、班级、指导教师、联系方式2目录目录要求层次清晰,且与正文中标题一致。包括正文主要层次标题、参考文献、附录。3正文(1)正文的内容正文部分包括:前言、报告主体和结论。要求文章结构严谨,语言流畅,内容正确。前言作为开场白,要以简短的篇幅,说明课程设计工作的基本原理。报告主体是核心部分,占主要篇幅,要求文字简练,条理分明,重点突出,概念清楚,论证充分,逻辑性强。分别阐述自己在课程设计

19、过程中是如何实现的,相关的数据结构、分析过程、存在问题等要阐述清楚,报告正文中的使用的源程序代码,除为了阐述数据结构和算法而必须使用的代码外,不能占主要部分,最好不超过10%。报告中要求有程序运行时的界面,界面直接从计算机屏幕上抓图获得,程序运行示例2个以上(通过示例可以说明程序的功能),及相应的运行结果。结论是整个课程设计报告的总结,应以简练的文字说明通过课程设计,对编译原理课程的理解和新的认识,在课程设计中实现的功能和取得的成果,以及存在的问题等。正文中引用文献号用方括号“ ”括起来置于引用文字的右上角,按上标书写。(2) 对正文内容及篇幅的要求课程设计的汉字的数量要求在1500字以上。(

20、3)正文的层次划分和编排方法正文是论文的主要组成部分,题序层次是文章结构的框架。章条序码统一用阿拉伯数字表示,题序层次可以分为若干级,各级号码之间加一小圆点,末尾一级码的后面不加小圆点,层次分级一般不超过4级为宜,各级与上下文间均单倍行距。示例如下:报告题目:居中放置,并且距下文双倍行距。 (黑体一号字)正文各层次内容:单倍行距。(宋体小四号字,英文用Courier New 字体小四)题序层次的题序和题名:(下面格式不严格要求)第一级(章) 1. 2. 3. (黑体小二号字)第二级 (条) 1.1,1.2, 2.1,2.2, 3.1,3.2, (黑体小三号字)第三级 (条) 1.1.1,1.1

21、.2,1.2.1,1.2.2, (黑体四号字)第四级 (条) 1.1.1.1,1.1.1.2,1.2.2.1,1.2.2.2, (黑体小四号字) 题序层次编排格式为:章条编号一律左顶格,编号后空一个字距,再写章条题名。题名下面的文字一般另起一行,也可在题名后,但要与题名空一个字距。如在条以下仍需分层,则通常用a,b,或1),2),编序,左空2个字距。4图表和公式(1)图表报告中的选图及制图力求精炼。所有图表均应精心设计并用绘图笔绘制,不得徒手勾画。各类图表的绘制均应符合国家标准。报告中的表一律不画左右端线,表的设计应简单明了。图表中所涉及到的单位一律不加括号,用“,”与量值隔开。图表均应有标题

22、,并按章编号(如图1-1、表2-2等)。图表标题均居中书写,字号比正文小一号。(2)公式公式统一用英文斜体书写,公式中有上标、下标、顶标、底标等时,必须层次清楚。公式应居中放置,公式前的“解”、“假设”等文字顶格写,公式末不加标点,公式的序号写在公式右侧的行末顶边线,并加圆括号。序号按章排,如“(1-1)”、“(2-1)”。公式换行书写时与等号对齐。5参考文献(不严格要求)参考文献是报告中引用文献出处的目录表。凡引用本人或他人已公开或未公开发表文献中的学术思想、观点或研究方法、设计方案等,不论借鉴、评论、综述,还是用做立论依据、学术发展基础,都应编入参考文献目录。直接引用的文字应直录原文并用引

23、号括起来。直接、间接引用都不应断章取义。参考文献的著录方法采用我国国家标准GB7714-87文后参考文献著录规则中规定采用的“顺序编码制”,中外文混编。报告中,引用出处按引用先后顺序用阿拉伯数字和方括号 放在引文结束处最后一个字的右上角作为对参考文献表相应条目的呼应。文后参考文献表中,各条文献按在报告中的文献序号顺序排列。各类文献的著录格式如下:(1) 专著顺序号 著者.书名.版本.其他责任者.出版地:出版者,出版年,文献数量示例:1 夏小华,高为柄.非线性系统控制及解耦.第2版.北京:科学出版社,1997(2) 期刊顺序号 作者.题名.其他责任者.刊名,年,卷(期):在原文献中的位置示例:2

24、 高为柄,程勉,夏小华.非线性控制系统的发展.自动化学报,1991,17(4):513523(3) 论文集顺序号 作者.题名.见:编者.文集名.出版地:出版者,出版年. 在原文献中的位置示例:3 Fox R L, Willmert K D.不等式约束的连杆曲线最优化设计.见:机构学译文集编写组. 机构学译文集.北京:机械工业出版社,1982.232242(4) 技术标准顺序号 标准代号 标准顺序号发布年 标准名称示例:4 GB3100310293 量和单位(5) 学位论文顺序号 作者.题名:学位论文.保存地:保存者,年份示例:5 陈淮金.多机电力系统分散最优励磁控制器的研究:学位论文.北京:清华大学电机工程系,1988(6) 会议论文顺序号 作者.题名.会议名称,会址,会议年份示例:6 夏小华,高为柄.稳定设计中的分解和参数化方法.全国控制与决策会议,黄山,1993(10)附录未尽事宜可将其列在附录中加以说明。原始测定结果、分析报告、图表、测试报告单、译文等,均可列在附录中,附录序号用“附录A、附录B”等字样表示。

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服