当前位置:文档之家› 编译原理课程设计

编译原理课程设计

《编译原理》课程设计大纲课程编号:课程名称:编译原理/Compiler Principles周数/学分:1周/1学分先修课程:高级程序设计语言、汇编语言、离散数学、数据结构适用专业:计算机科学与技术专业、软件工程专业开课学院,系或教研室:计算机科学与技术学院一、课程设计的目的课程设计是对学生的一种全面综合训练,是与课堂听讲、自学和练习相辅相成的必不可少的一个教学环节。

通常,设计题中的问题比平时的练习题要复杂,也更接近实际。

编译原理这门课程安排的课程设计的目的是旨在要求学生进一步巩固课堂上所学的理论知识,深化理解和灵活掌握教学内容,选择合适的数据逻辑结构表示问题,然后编制算法和程序完成设计要求,从而进一步培养学生独立思考问题、分析问题、解决实际问题的动手能力。

要求学生在上机前应认真做好各种准备工作,熟悉机器的操作系统和语言的集成环境,独立完成算法编制和程序代码的编写。

设计时间:开发工具:(1) DOS环境下使用Turbo C;(2) Windows环境下使用Visual C++ 。

(3) 其它熟悉语言。

二、课程设计的内容和要求设计题一:算术表达式的语法分析及语义分析程序设计。

1.目的通过设计、编制、调试一个算术表达式的语法及语义分析程序,加深对语法及语义分析原理的理解,并实现词法分析程序对单词序列的词法检查和分析。

2.设计内容及要求:算术表达式的文法:〈无符号整数〉∷= 〈数字〉{〈数字〉}〈标志符〉∷= 〈字母〉{〈字母〉|〈数字〉}〈表达式〉∷= [+|-]〈项〉{〈加法运算符〉〈项〉}〈项〉∷= 〈因子〉{〈乘法运算符〉〈因子〉}〈因子〉∷= 〈标志符〉|〈无符号整数〉|‘(’〈表达式〉‘)’〈加法运算符〉∷= +|-〈乘法运算符〉∷= *|/(1) 分别选择递归下降法、算符优先分析法(或简单优先法)完成以上任务,中间代码选用逆波兰式。

(2) 分别选择LL(1)、LR法完成以上任务,中间代码选用四元式。

(3) 写出算术表达式的符合分析方法要求的文法,给出分析方法的思想,完成分析程序设计。

(4) 编制好分析程序后,设计若干用例,上机测试并通过所设计的分析程序。

设计题二:简单计算器的设计1.目的通过设计、编制、调试一个简单计算器程序,加深对语法及语义分析原理的理解,并实现词法分析程序对单词序列的词法检查和分析。

2.设计内容及要求算术表达式的文法:〈无符号整数〉∷= 〈数字〉{〈数字〉}〈标志符〉∷= 〈字母〉{〈字母〉|〈数字〉}〈表达式〉∷= [+|-]〈项〉{〈加法运算符〉〈项〉}〈项〉∷= 〈因子〉{〈乘法运算符〉〈因子〉}〈因子〉∷= 〈标志符〉|〈无符号整数〉|‘(’〈表达式〉‘)’〈加法运算符〉∷= +|-〈乘法运算符〉∷= *|/(1) 分别选择递归下降法、算符优先分析法(或简单优先法)完成以上任务,最终输出计算器计算的结果。

(2) 写出算术表达式的符合分析方法要求的文法,给出分析方法的思想,完成分析程序设计。

(3) 编制好分析程序后,设计若干用例,上机测试并通过所设计的分析程序。

设计题三:24点速算游戏1.目的通过设计、编制、调试一个24点速算程序,加深对语法及语义分析原理的理解,并实现词法分析程序对单词序列的词法检查和分析。

2.设计内容及要求程序输入:1-12中的4个数字;程序输出:由上述4个数字及“+,-,*,/”组成的计算结果为24的算术表达式;(1) 分别选择递归下降法、算符优先分析法(或简单优先法)完成以上任务,最终输出正确的算术表达式。

(2) 写出算术表达式的符合分析方法要求的文法,给出分析方法的思想,完成分析程序设计。

(3) 编制好分析程序后,设计若干用例,上机测试并通过所设计的分析程序。

设计题四:中文(英文)网页分词1.目的通过设计、编制、调试一个中文网页分词程序,加深对词法分析原理得以应用的理解。

2.设计内容及要求程序输入:中文(英文)网页程序输出:有意义的中文词组,并标注其词性,如动词、名词、形容词、副词、数字、日期等,输出到文本文档中;(1)分别针对中文、英文网页完成以上任务。

(2)自己设计出多种中文、英文词组的符号表和对应的TOKEN代码,给出分析方法的思想,完成分析程序设计。

(3)编制好分析程序后,设计若干用例,上机测试并通过所设计的分析程序。

设计题五:布尔表达式的语法分析及语义分析程序设计。

1.目的通过设计、编制、调试一个布尔表达式的语法及语义分析程序,加深对语法及语义分析原理的理解,并实现词法分析程序对单词序列的词法检查和分析。

2.设计内容及要求(1)分别选择递归下降法、LL(1)法完成以上任务,中间代码选用逆波兰式。

(2)分别选择算符优先分析法(或简单优先法)、LR法完成以上任务,中间代码选用四元式。

(3)如1题写出符合分析方法要求的文法,给出分析方法的思想,完成分析程序设计。

(4)编制好分析程序后,设计若干用例,上机测试并通过所设计的分析程序。

设计题六:二---十进制的语法分析及语义分析程序设计。

1.目的通过设计、编制、调试语法及语义分析程序,加深对语法及语义分析原理的理解。

2.设计内容及要求(1)分别选择递归下降法、LL(1)、算符优先分析法(或算符优先分析法(或简单优先法))、LR法完成以上任务。

(2)如1题写出符合分析方法要求的文法,给出分析方法的思想,完成分析程序设计。

(3)编制好分析程序后,设计若干用例,上机测试并通过所设计的分析程序。

设计题七:十---二进制的语法分析及语义分析程序设计。

1.目的通过设计、编制、调试语法及语义分析程序,加深对语法及语义分析原理的理解。

2.设计内容及要求(1)分别选择递归下降法、LL(1)、算符优先分析法(或简单优先法)、LR法完成以上任务。

(2)如1题写出符合分析方法要求的文法,给出分析方法的思想,完成分析程序设计。

(3)编制好分析程序后,设计若干用例,上机测试并通过所设计的分析程序。

设计题八:十六---二进制的语法分析及语义分析程序设计。

1.目的通过设计、编制、调试语法及语义分析程序,加深对语法及语义分析原理的理解。

2.设计内容及要求(1)分别选择递归下降法、LL(1)法完成以上任务。

(2)如1题写出符合分析方法要求的文法,给出分析方法的思想,完成分析程序设计。

(3)编制好分析程序后,设计若干用例,上机测试并通过所设计的分析程序。

设计题九:条件语句的语法分析及语义分析程序设计。

1.目的通过设计、编制、调试一个语法及语义分析程序,加深对语法及语义分析原理的理解。

2.设计内容及要求IF 〈布尔表达式〉 THEN 〈赋值语句〉 ELSE 〈赋值语句〉或IF 〈布尔表达式〉 THEN 〈赋值语句〉其中(1)分别选择递归下降法、LL(1)、算符优先分析法(或简单优先法)、LR法完成以上任务,中间代码选用四元式。

(2)如1题写出符合分析方法要求的文法,给出分析方法的思想,完成分析程序设计。

(3)编制好分析程序后,设计若干用例,上机测试并通过所设计的分析程序。

设计题十:循环语句的语法分析及语义分析程序设计。

1.目的通过设计、编制、调试一个语法及语义分析程序,加深对语法及语义分析原理的理解。

2.设计内容及要求WHILE〈布尔表达式〉DO〈赋值语句〉其中(1)分别选择递归下降法、LL(1)、算符优先分析法(或简单优先法)、LR法完成以上任务,中间代码选用四元式。

(2)如1题写出符合分析方法要求的文法,给出分析方法的思想,完成分析程序设计。

(3)编制好分析程序后,设计若干用例,上机测试并通过所设计的分析程序。

设计题十一:词法分析程序设计。

1.目的通过设计、编制、调试一个词法分析程序,加深对词法分析原理的理解。

2.设计内容及要求通过设计、编制、调试一个对于C语言词法的词法分析程序,加深对词法分析原理的理解,并实现输出单词序列的词法检查和分析。

其中(2)自己设计出五种单词的符号表和对应的TOKEN代码,给出分析方法的思想,完成分析程序设计。

(3)编制好分析程序后,设计若干用例,上机测试并通过所设计的分析程序。

三、课程设计进度安排序号阶段内容所需用时间1给出语法分析方法及中间代码形式的描述、文法和1天属性文法的设计;或者词法分析方法及符号表和TOKEN代码的设计。

2简要的分析与概要设计、算法设计与程序设计3天3撰写课程设计报告书1天合计5天四、课程设计说明书与图纸要求课程设计报告书的内容应包括:1. 设计题目、班级、学号、姓名、完成日期;2. 给出语法分析方法及中间代码形式的描述、文法和属性文法的设计;或者词法分析方法及符号表和TOKEN代码的设计。

3. 简要的分析与概要设计;4. 详细的算法描述;5. 源程序清单;6. 给出软件的测试方法和测试结果;7. 设计的评价、收获与体会。

五、课程设计评分标准序号评分项目满分实得分1学习态度认真、遵守纪律102设计分析合理性103设计方案正确性、可行性、创造性204设计结果正确性405设计报告的规范性106设计验收10总得分/等级注:最终成绩以五级分制记。

优(90-100分)、良(80-89分)、中(70-79分)、及格(60-69分)、60分以下为不及格六、课程设计参考资料《编译原理》(第二版) 主 编:吕映芝、张素琴、蒋维杜出版社:清华大学出版社出版时间:2004年11月参考书:《编译原理》 主 编:何炎祥出版社:华中理工大学出版社出版时间:2000年10月《程序设计语言编译原理》(第3版) 主 编:陈火旺、刘春林等出版社:国防工业出版社出版时间:2003年2月《编译原理》 主 编:张幸儿出版社:科学出版社出版时间:1999年4月《Compilers:Principles,Techniques,and Tools》 主编:Alfred V A,Ravi S, Ullman J D出版社:人民邮电出版社出版时间:2002年2月《编译原理与技术》(第二版) 主 编:陈意云出版社:中国科学技术大学出版社出版时间:2002年1月。

相关主题