课程设计与实验安排

课程设计与实验安排

ID:18810234

大小:138.00 KB

页数:8页

时间:2018-09-25

课程设计与实验安排_第1页
课程设计与实验安排_第2页
课程设计与实验安排_第3页
课程设计与实验安排_第4页
课程设计与实验安排_第5页
资源描述:

《课程设计与实验安排》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、编译原理课程设计与实验安排1.1课程设计的基本要求和方法1课程设计的目的编译原理课程是计算机科学与技术专业学生的重要基础课程。通过学习该课程,要求学生掌握编译原理的基本原理、方法和技术。《编译原理》课程是计算机软件学科理论与实践相结合的典范,在教学过程中既要注重该领域在理论上取得的完美结论,也同时强调这些理论在实际中的应用。学生学习该课程不仅要掌握语法和语义的形式化理论,而且还必须注重在理论指导下的课程实验。《编译原理》课程设计是计算机科学与技术专业的主要实践性教学环节。在进行了专业基础课和《编译原理》课

2、程的基础上,设计一个实际的程序语言的编译系统旨在加深对程序语言结构和机器处理方式的理解,初步掌握高级语言到机器指令的转换的基本方法,提高进行工程设计的基本技能及分析、解决实际问题的能力,为毕业设计和以后的工程实践打下良好的基础。为了使学生从课程设计中尽可能取得比较大的收获,可选择不同的方式进行实现,同时还提供了相关的选作题目。2课程设计的教学基本要求l巩固和加深对编译原理的理解,提高综合运用本课程所学知识的能力。l培养学生选用参考书,查阅手册及文献资料的能力。培养独立思考,深入研究,分析问题、解决问题的能

3、力。l能够按要求编写课程设计报告书,能正确阐述设计和实验结果,正确绘制系统和程序框图。l通过课程设计,培养学生严肃认真的工作作风。3课程设计的教学基本要求l巩固和加深对编译原理的理解,提高综合运用本课程所学知识的能力。l培养学生选用参考书,查阅手册及文献资料的能力。培养独立思考,深入研究,分析问题、解决问题的能力。l能够按要求编写课程设计报告书,能正确阐述设计和实验结果,正确绘制系统和程序框图。l通过课程设计,培养学生严肃认真的工作作风。1课程设计的要求l程序实现要求(1)设计符号表确定符号表的组织方式,

4、一般应包括名字栏和信息栏,其中名字栏作为关键字。要考虑能够存储有关名字的信息,并可以高效地完成如下操作:a.查找:根据给定的名字,在符号表中查找其信息。如果该名字在符号表中不存在,则将其加入到符号表中,否则返回指向该名字的指针;b.删除:从符号表中删除给定名字的表项。(2)设计词法分析器(也可以使用FLEX生成词法分析器)设计各单词的状态转换图,并为不同的单词设计种别码。将词法分析器设计成供语法分析器调用的子程序。功能包括:a.a. 具备预处理功能。将不翻译的注释等符号先滤掉,只保留要翻译的符号串,即要求

5、设计一个供词法分析调用的预处理子程序;b.b. 能够拼出语言中的各个单词;c.c. 将拼出的标识符填入符号表;d.d. 返回(种别码,属性值)。(3)语法分析与中间代码产生器(也可以使用BISON生成语法分析程序)要求用预测分析法、算符优先分析法、SLR分析法,实现对表达式、各种说明语句、控制语句进行语法分析。若语法正确,则用语法制导翻译法进行语义翻译:对说明语句,要求将说明的各符号记录到相应符号表中;对可执行语句,应产生出四元式中间代码并填写到三地址码表中;若语法错误,要求指出出错性质和出错位置(行号)

6、。出错处理应设计成一个出错处理子程序。(5)中间代码生成可生成基本的四元式表示的中间代码,也可以生成虚拟机规定的汇编语言代码(相关材料以后再给)。C-语言的文法见附录。l组织形式要求可以按照3-5人为一个课程设计小组,选一名组长负责组织和联系。l时间要求按照规定,编译课程设计时间为一周。1课程设计成绩评定课程设计完成后,根据学生课设期间的表现情况、最终程序的实现质量以及课程设计报告的书写情况进行成绩评定。采取抽查每组学生中的1-2名进行演示和老师抽问,每个人的表现将影响小组的成绩。一般情况下,满足下列条件

7、的小组给予高分:n课程设计期间主动认真n能够较好地将理论知识应用与课程设计中解决实际问题n课程设计报告符合规范,内容翔实2课程设计上交内容课程设计完成后,每位学生需要上交的资料包括:n程序代码n典型的测试用例及测试结果n课程设计报告书附件:《编译原理》课程设计实验报告书班级:学号:指导老师:课设地点:课设时间:年月日目录课程设计任务1TINY语言的语法图描述2系统设计2.1系统的总体结构2.2主要功能模块的设计2.3系统运行流程3系统实现3.1系统主要函数说明(主要功能、输入输出、实现思想)3.2系统代

8、码(必须有注释)4课程设计心得5建议和意见6参考资料附录C-语言编译器的设计C-Minus(或简称为C-),是一种适合编译器设计方案的语言,包括函数和数组。本质上它是C的一个子集,但省去了一些重要的部分。本部分内容包括,首先,列出了语言惯用的词法,包括语言标记的描述。其次,给出了每个语言构造的BNF描述,同时还有相关语义的描述。最后,给出了C-的示例程序,可以用这两个程序做为输入,检查自己的编译系统的有效性。1C-惯用的词法1

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。