《编译原理实验模版》课程教学大纲_第1页
《编译原理实验模版》课程教学大纲_第2页
《编译原理实验模版》课程教学大纲_第3页
《编译原理实验模版》课程教学大纲_第4页
全文预览已结束

下载本文档

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

文档简介

1、编译原理实验教学大纲一、课程基本信息中文名称Compiler Principle英文名称Compiler Principle适用专业计算机科学与技术先修课程离散数学、汇编语言课程类别专业拓展课程修读性质必开学分/学时0.5学分/18学时考核方式考查二、教学目标通过实验使学生对比较抽象的编译理论内容产生一个具体的感性认识,能把编译原理的相关理论运用到软件开发中。在学生手动生成词法分析器及完成一些小的语法分析器的过程中,使学生对这些部份的工作机理有一个详细的了解,达到“知其然,且知其所以然”,从而提高学生的应用程序设计能力,提高分析问题、解决问题的能力。 三、教学内容实验项目一:源程序的输入和扫描

2、实验(6学时)1.实验属性:设计实验2.修读性质:必开3.教学目标:理解源程序被编译器读取的过程,掌握扫描程序的方法4.实验方法:上机操作5实验仪器设备: 计算机6.实验内容:编制一个源程序的输入过程,从键盘、文件或文本框输入若干行语句,依次存入输入缓冲区(字符型数据);编制一个扫描子程序,该扫描程序能删除无用的空白字符、回车字符以及其他与输入介质相关的非实质性字符,用“#”分隔单词流。删除注释信息。实验步骤准备:确定开发工具,如TC、VC、VC+、Delphi等;花一周时间熟悉开发工具。花一周时间确定被处理的语言的语法特点(初步确定,也可使用现成语言如Pascal、C等)。写好实验报告,编好

3、程序。上机:安装所需的开发工具,输入或拷贝程序,调试。程序要求:如源程序为Pascal语言。输入如下一段:PROGRAM source;This little source program is used to illustrate compiling procedure VAR x,y,z:integer;a:integer;BEGIN This program has only 4 statement x:=23+5; z:=x DIV -3; y:=z+18*3; a:=x+(y-2) DIV 4;END.要求输出如下:# PROGRAM # source # ; # VAR # x #

4、 , # y # , # z # : # integer # ; # a # : # integer # ; # BEGIN # x # := # 23 # + # 5 # ; # z # := # x # DIV # - # 3 # ; # y # := # z # + # 18 # * # 3 # ; # a # := # x # + # ( # y # - # 2 # ) # DIV # 4 # ; # END # . #7.成绩评定程序通过测试并提交实验报告。8.其他必要说明实验报告要求写出编程思路、源代码;写出上机调试时发现的问题,以及解决的过程;写出你所使用的测试数据;谈谈你的体会

5、。实验项目二:词法分析实验(6学时)1.实验属性:设计实验2.修读性质:必开3.教学目标了解词法分析器的内部工作原理,通过本次实验,掌握对字符进行灵活处理的方法。4.实验方法上级操作5实验仪器设备计算机6.实验内容编制一个读单词过程,从输入的源程序中,识别出各个具有独立意义的单词,即基本保留字、标识符、常数、运算符、分隔符五大类。并依次输出各个单词的内部编码及单词符号自身值。(遇到错误时可显示“Error”,然后跳过错误部分继续显示)。7.成绩评定实验结果和实验报告。8.其他必要说明实验报告要求实验报告中应包含以下内容:功能描述:该程序具有什么功能?程序结构描述:函数调用格式、参数含义、返回值

6、描述、函数功能;函数之间的调用关系图、程序总体执行流程图。实验过程记录:出错次数、出错严重程度、解决办法摘要。实验总结:你在编程过程中花时多少?多少时间在纸上设计?多少时间上机输入和调试?多少时间在思考问题?遇到了哪些难题?你是怎么克服的?你对你的程序的评价?你的收获有哪些?实验项目三:语法分析实验(6时)1.实验属性:设计实验2.修读性质:必开3.教学目标了解语法分析器的内部工作原理,通过在本次实验中运用一定的编程技巧,掌握对表达式进行处理的一种方法。4.实验方法上级操作5实验仪器设备计算机6.实验内容(宋体五号,加粗)语法分析实验可以选择自上而下的LL(1)语法分析方法,也可以选择自下而上

7、的算符优先分析法。(学生自行选择)算术表达式的文法可以是(可以根据需要适当改变): EE+E|E-E|E*E|E/E|(E)|i根据算符优先分析法,将表达式进行语法分析,判断一个表达式是否正确。7.成绩评定(宋体五号,加粗)实验结果和实验报告。8.其他必要说明(可选项,宋体五号,加粗)实验报告要求功能描述:该程序具有什么功能?程序结构描述:函数调用格式、参数含义、返回值描述、函数功能;函数之间的调用关系图、程序总体执行流程图。实验过程记录:出错次数、出错严重程度、解决办法摘要。实验总结:你在编程过程中花时多少?多少时间在纸上设计?多少时间上机输入和调试?多少时间在思考问题?遇到了哪些难题?你是

8、怎么克服的?你对你的程序的评价?你的收获有哪些?四、考核形式及成绩评定(一)考核形式: 程序通过测试,得出实验结果并提交实验报告(二)成绩评定: 实验结果和实验报告。 评分方法:考核学生程序设计能力、独立分析解决问题的能力和创新精神,实验报告水平以及学习态度综合考评。成绩分优、良、中、及格和不及格五等。 考核标准包括:1.系统设计的可用性 2.实用性3.可扩充性 4. 学生的动手能力5.创新能力 6. 文档水平五、教材与参考书教 材:陈火旺等编. 程序设计语言编译原理(第三版). 国防工业出版社,2001参考书:1 张素琴编著,编译原理(第2板),清华大学出版社,2005年2 蒋立源编著,编译原理,西北工

温馨提示

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

评论

0/150

提交评论