- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《编译原理》课程实验教学大纲
课程编号: B0301141S 课程名称: 编译原理 课内总学时: 48 上机实验学时: 8 实验类别:□通识基础 □学科基础 □专业基础 ■专业
一、实验课程目的和任务
性质:本实验课程是计算机及其相关专业的专业课程,该实验是理论课程的课内上机实验环节。
目的和任务:编译原理是一门理论与实践结合紧密的课程。通过实验,使学生加深对课内所学的有关编译过程各阶段所采用的主要算法、方法和技术等内容的理解,能把《编译原理》的相关理论运用到软件开发中。在学生手动编写词法分析器及语法分析器的过程中,使学生对这些部分的工作机理有一个详细的了解,从而提高学生的应用程序设计能力,提高分析问题、解决问题的能力。通过上机实验将所学理论知识与实践相结合,加深对课程的理解。
二、实验内容、学时分配及基本要求
序号 实验项目名称 学时 实验内容及要求 开出
组数 每组人数 实验
类型 选
做 必
做 备注 1 词法分析器的构造 4 参见《综合性实验教学大纲》。 150 1 综合 √ 2 语法分析器的构造 4 参见《综合性实验教学大纲》。 150 1 综合 √ 三、考核及实验报告
(一)考核
本课程非独立授课,实验成绩记入课程平时成绩,约占课程总成绩的10%,结合学生上实验课的课堂表现(如:有无缺勤、有无事先准备程序代码、课堂上是否认真实验以及实验结果等)及实验报告综合打分。
(二)实验报告
实验报告的内容:
实验名称、实验目的、实验任务、实验内容、实验过程描述(包括实验结果分析、实验过程遇到的问题及体会)。
实验报告的要求:
实验报告以文本或电子档形式递交,实验报告书写要求如下:
1. 问题描述:包括实验名称、目的、内容,以简洁明了的叙述说明本次上机实验的任务和目标,程序的输入和输出要求以及程序的功能。
2. 主要仪器设备:包括实验过程中所用的主要仪器设备、软件等。
3. 实验过程描述:包括源程序的各个组成部分以及算法分析过程,演示结果等。
4. 分析和体会:包括实验结果分析,测试、调试过程所遇到的问题,程序设计与实现的经验和体会,进一步改进的设想。
四、主要仪器设备
硬件:微型计算机。
软件:Eclipse或Visual C++ 6.0(也可以是其它集成开发环境)。
五、教材及参考书
教材
[1] 王汝传.编译技术原理及其实现方法.成都科技大学出版社,1998
参考书
[1] 吕映芝,张素琴,蒋维杜.编译原理.清华大学出版社,1998
[2] 陈火旺等.程序设计语言编译原理.国防工业出版社,2000
六、说明
无
执笔人: 蒋凌云 审核人: 黄海平 实验院长: 陈丹伟
编写完成时间: 2013年6月
附录1:
《词法分析器的构造》综合性实验大纲
一、实验目的
设计、编制、调试一个词法分析程序,对单词进行识别和编码,加深对词法分析原理的理解。
二、设计内容
设计并实现一个词法分析器,实现对指定位置的类C语言源程序文本文件的读取,并能够对该源程序中的所有单词进行分类,指出其所属类型,实现简单的词法分析操作。
例如下面为一段C语言源程序:
main()
{
int? a,b;
a = 10;
? b = a + 20;
}
要求输出如下
(2,’main’)
(5,’(’)
(5,’)’)
(5,’{ ’)
(1,’int’)
(2,’a’)
(5,’,’)
(2,’b’)
(5,’;’)
(2,’a’)
(4,’=’)
(3,’10’)
(5,’;’)
(2,’b’)
(4,’=’)
(2,’a’)
(4,’+’)
(3,’20’)
(5,’;’)
(5,’}’)
三、实验要求
1、允许用户自己输入源程序并保存为文件
2、系统能够输出经过预处理后的源程序(去掉注释、换行、空格等)
3、能够将该源程序中所有的单词根据其所属类型(整数、保留字、运算符、标识符等。定义的类C语言中的标识符只能以字母或下划线开头)进行归类显示,例如:识别保留字:if、int、for、while、do、return、break、continue等,其他的都识别为标识符;常数为无符号整形数;运算符包括:+、-、*、/、=、、、=、=、!=等;分隔符包括:,、;、{、}、(、)等。
4、实现文件的读取操作,而不是将文本以字符串形式预存于程序中。文本内容为待分析的类C语言程序。
四、实验报告
实验报告的内容:
实验名称、实验目的、实验任务、实验内容、实验过程描述(包括实验结果分析、实验过程遇到的问题及体会)。
实验报告的要求:
文档评论(0)