- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《编译原理实验》教学大纲
一、课程基本信息
中文名称
Compiler Principle
英文名称
Compiler Principle
适用专业
计算机科学与技术
先修课程
离散数学、汇编语言
课程类别
专业拓展课程
修读性质
必开
学分/学时
0.5学分/18学时
考核方式
考查
二、教学目标
通过实验使学生对比较抽象的编译理论内容产生一个具体的感性认识,能把编译原理的相关理论运用到软件开发中。在学生手动生成词法分析器及完成一些小的语法分析器的过程中,使学生对这些部份的工作机理有一个详细的了解,达到“知其然,且知其所以然”,从而提高学生的应用程序设计能力,提高分析问题、解决问题的能力。
三、教学内容
实验项目一:源程序的输入和扫描实验(6学时)
1.实验属性:
设计实验
2.修读性质:
必开
3.教学目标:
理解源程序被编译器读取的过程,掌握扫描程序的方法
4.实验方法:
上机操作
5实验仪器设备:
计算机
6.实验内容:
编制一个源程序的输入过程,从键盘、文件或文本框输入若干行语句,依次存入输入缓冲区(字符型数据);
编制一个扫描子程序,该扫描程序能删除无用的空白字符、回车字符以及其他与输入介质相关的非实质性字符,用“#”分隔单词流。
删除注释信息。
实验步骤
准备:确定开发工具,如TC、VC、VC++、Delphi等;花一周时间熟悉开发工具。花一周时间确定被处理的语言的语法特点(初步确定,也可使用现成语言如Pascal、C等)。写好实验报告,编好程序。
上机:安装所需的开发工具,输入或拷贝程序,调试。
程序要求:
如源程序为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 # , # 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.其他必要说明
实验报告要求
写出编程思路、源代码;
写出上机调试时发现的问题,以及解决的过程;
写出你所使用的测试数据;
谈谈你的体会。
实验项目二:词法分析实验(6学时)
1.实验属性:
设计实验
2.修读性质:
必开
3.教学目标
了解词法分析器的内部工作原理,通过本次实验,掌握对字符进行灵活处理的方法。
4.实验方法
上级操作
5实验仪器设备
计算机
6.实验内容
编制一个读单词过程,从输入的源程序中,识别出各个具有独立意义的单词,即基本保留字、标识符、常数、运算符、分隔符五大类。并依次输出各个单词的内部编码及单词符号自身值。(遇到错误时可显示“Error”,然后跳过错误部分继续显示)。
7.成绩评定
实验结果和实验报告。
8.其他必要说明
实验报告要求
实验报告中应包含以下内容:
功能描述:该程序具有什么功能?
程序结构描述:函数调用格式、参数含义、返回值描述、函数功能;函数之间的调用关系图、程序总体执行流程图。
实验过程记录:出错次数、出错严重程度、解决办法摘要。
实验总结:你在编程过程中花时多少?多少时间在纸上设计?多少时间上机输入和调试?多少时间在思考问题?遇到了哪些难题?你是怎么克服的?你对你的程序的评价?你的收获有哪些?
实验项目三:语法分析实验(6时)
1.实验属性:
设计实验
2.修读性质:
必开
3.教学目标
了解语法分析器的内部工作原理,通过在本次实验中运用一定的编程技巧,掌握对表达式进行处理的一种方法。
4.实验方法
上级操作
5实验仪器设备
计算机
6.实验内容(宋体五号,加粗)
语法分析实验可以选择自上而下的LL(1)语法分析方法,也可以选择自下而上的算符优先分析法。(学生自行选择)
算术表达式的文法可以是(可以根据需要适当改变):
E→E+E|E-E|E*E|E/E|(E)|i
根据算符优先
文档评论(0)