欢迎来到天天文库
浏览记录
ID:20502344
大小:125.50 KB
页数:16页
时间:2018-10-13
《2. 09级编译课程设计题目》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、编译原理课程设计题目编译原理课程设计题目1选题说明1课程设计题目说明1D类11.符号串的最左推导和最右推导12.基本块的划分13.循环查找24.使用逆波兰式方法设计一个计算器25.符号表的线性组织26.符号表的排序组织2C类31.构造语法树32.符号表的散列组织33.PL/0语言的词法分析程序34.非LL(1)文法到LL(1)文法的等价变换35.使用LR(0)分析方法设计一个计算器46.使用预测分析方法设计一个计算器47.使用算符优先分析方法设计一个计算器48.C语言的词法分析程序4B类51.自动机的确定化和最小化52.自动机与正规式间的相互转化53.预测分析法在
2、PL/0语言编译器中的应用54.PL/0语言编译器改进55.LL(1)文法和预测分析方法66.算符优先分析法研究67.C语言文本编辑器6A类61.PL/0语言编译器的中间代码生成62.LR(0)分析法研究73.自动机的状态转换图表示74.局部优化的实现75.帮助自动生成工具86.变量检查工具8147.C语言过程活动记录的设计88.指针检查工具99.数组越界检查工具9课程设计报告的撰写规范及要求10一、课程设计的版面10二、结构及要求1014选题说明²学生在各自班级中任意组合,1-2人组成一个课题小组,共同完成选题,一个班级中同一个题目仅能一个课题小组选择,不允许选
3、题重复。²每个题目根据难度具有不同的分类,A类最难,综合能力较强,依次类推。²课程设计报告要求字数在2000字以上(不包括程序代码),报告设计格式参看《2009级编译技术课程设计报告模版》。²源程序及课程设计报告检查完毕后,于1月5日前一起发送到邮箱:compiler2012@163.com。课程设计题目课程设计题目分为4种难度,分别为A类、B类、C类、D类。最高分数依次为100,90,85,75。【注意】无论下列哪一个题目,若涉及到输入(文法/自动机/表达式/源程序等等)不能通过键盘手动输入,必须通过文件的方式输入到程序中。D类1.符号串的最左推导和最右推导要求
4、:1.给定文法和符号串;2.给出该符号串的最左推导、最右推导;3.文法要求可以用文件方式和直接输入两种方法。2.基本块的划分要求:1.从文件中读取任意一组四元式;2.找出中间代码的入口语句;141.划分出程序的基本块。1.循环查找要求:1.程序流图可以使用二维数组表示出结点间的关系;2.求出所有结点的必经结点集;3.找出流出中的回边;4.给出每一个回边所对应的循环。2.使用逆波兰式方法设计一个计算器1.计算器必须能够完成加、减、乘、除、幂、括号()等运算符号;2.将一个中缀表达式转化为逆波兰式;3.根据逆波兰式的计算方法计算出表达式的值;3.符号表的线性组织要求:
5、1.确定符号表的单表结构的总体组织方式,即所有的标识符都在一个符号表内;2.设计符号表的顺序为线性组织方式。3.设计符号表的属性,需要包括:符号名、数据类型、层次、在内存单元中的位置(假设数据从该过程活动记录的第3个字节开始,前3个空间保存了返回地址、存取链等信息)4.当读入的源程序为C语言程序/或PL/0语言时,设置一个断点,获得到达断点时的符号表的内容;4.符号表的排序组织1.确定符号表的单表结构的总体组织方式,即所有的标识符都在一个符号表内;2.设计符号表的顺序为排序组织方式。3.设计符号表的属性,需要包括:符号名、数据类型、层次、在内存单元中的位置(假设数
6、据从该过程活动记录的第3个字节开始,前3个空间保存了返回地址、存取链等信息)4.当读入的源程序为C语言程序/或PL/0语言14时,设置一个断点,获得到达断点时的符号表的内容;1.设计函数或方法完成线形表的插入和删除操作。C类1.构造语法树要求:1.给定文法和符号串;2.给出该符号串的语法树;3.文法要求可以用文件方式和直接输入两种方法。2.符号表的散列组织1.确定符号表的单表结构的总体组织方式,即所有的标识符都在一个符号表内;2.设计符号表的顺序为散列组织方式,查阅资料构造一个好的散列函数。3.设计符号表的属性,需要包括:符号名、数据类型、层次、在内存单元中的位置
7、(假设数据从该过程活动记录的第3个字节开始,前3个空间保存了返回地址、存取链等信息)4.当读入的源程序为C语言程序/或PL/0语言时,设置一个断点,获得到达断点时的符号表的内容;设计函数或方法完成线形表的插入和删除操作。3.PL/0语言的词法分析程序要求:1.写一个能够完成PL/0语言的词法分析的程序;2.将源程序文件中的单词识别出该单词是哪一个保留字、或者哪一个符号、或者是标识符、或者是常数;3.将分析的结果以文件的方式输出;4.该词法分析程序可以过滤掉多行注释/**/和单行注释//。4.非LL(1)文法到LL(1)文法的等价变换要求:1.文法可以只采用产生式的
8、方式进行描
此文档下载收益归作者所有