编译原理实验教学大纲.doc
上传人:qw****27 上传时间:2024-09-12 格式:DOC 页数:10 大小:93KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

编译原理实验教学大纲.doc

编译原理实验教学大纲.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

课程名称:编译原理课程实验课程编号:006A3350课程性质:非独立设课课程属性:专业课实验类别:任选课学时学分:总学时72总学分4实验学时18实验学分1开出时间:四年级1学期适用专业:计算机科学与技术、网络工程、软件工程等综合性、设计性实验个数:5执笔人:白明编写日期:2006.7.2课程简介编译程序是现代计算机系统的基本组成部分之一。“编译原理”是计算机专业的一门重要专业课,同时也是一门实践性很强的课程,只有通过实践,才能真正掌握。编译技术,作为一门计算机软件技术,内涵极为丰富。有关词法、文法的分析,有关表格的处理,有关符号信息的处理方法,有关清晰有效的算法描述方法,有关部门形形色色数据结构的运用,自动机理论及其规划程序的指导作用。通过对本课程的学习,不仅可以掌握编译程序本身的基本实现原理和技术,同时也有助于提高对程序设计语言的理解,提高语言设计及程序设计能力。2、实验目的及要求通过实验环节,加强学生对所学编译原理知识的深入理解及熟练掌握,为今后进行各种程序的编制和开发打下良好的基础。要求在掌握理论知识的基础上,设计有关算法,编写程序,调试程序。编程语言可为C或Java。1)正确理解什么是编译程序;了解编译程序工作的基本过程及其各阶段的基本任务;熟悉编译程序的组成结构;了解编译程序的生成过程和构造工具。2)理解符号表的作用及符号表组织和使用方法,了解名字的作用范围,了解符号表中一般应包含的内容。3)理解词法分析器功能及形式;熟练掌握词法分析器设计的原理,掌握运用状态转换图进行词法分析器设计。4)正确理解自下而上语法分析的基本思想,以及归约、短语、句柄、分析树等概念;根据预先由文法规则建立的LR(k)分析表,对输入串进行语法分析。3、对先修课的基本要求C语言及程序设计原理、离散数学、数据结构、操作系统、面向对象程序设计等。4、实验方式及要求1)了解编译程序工作的基本过程及其各阶段的基本任务;熟悉编译程序的组成结构;了解编译程序的生成过程和构造工具。2)理解程序语言词法、语法和语义等概念;熟悉高级程序语言一般结构和主要共同特征。3)熟练使用Java或C语言,编程实现词法分析、符号表管理、中间代码生成和语法分析等程序,理解和掌握编译系统的工作原理。5、考核方式及评价编写程序,上机调试,验收通过。设计类实验共4项,每项分5个等级,每个等级4分。综合类实验可以分组进行,每组不超过4人。分为5个等级,每个等级4分。6、主要仪器设备微型计算机实验平台:操作系统:Windows2000/XP语言平台选用Java:J2SDK1.5.0_06或兼容版本、Eclipse3.1或TextPad4.7或其它兼容编辑器选用C:TurboC2.0或以上兼容版本选用VisualC++:VC++6.0或以上兼容版本7、实验教材及参考书《编译原理》,吕映芝,清华大学出版社《编译原理》侯文永,电子工业出版社《编译原理学习辅导》张伟,清华大学出版社《编译原理(第2版)》蒋立源西北工业大学出版社8、实验项目设置表项目序号实验项目名称内容提要实验学时,计划/已开设备台套每套人数实验属性1查填符号表读出源程序中的标识符,并在符号表中进行查找,若存在则输出该标识符及其编号和位置;否则将其填入符号表,并分配编号,确定位置,输出标识符表。2,2/21132简单词法分析从键盘上(或文件中)输入简单变量说明(包括整型、实型、布尔型和字符型),对其处理形成属性字(属性字包括名字、类型和地址),输出属性字表,其格式中包括名字、类型和分配地址等。2,2/21133逆波兰式生成实现逆波兰式的生成算式,将简单算术表达式生成逆波兰表达式。2,2/21134表达式分析从键盘输入表达式,判断表达式的合法性,并给出相应的信息或计算结果。4,4/41135综合实验编程实现LR(k)算法,能根据预先定义的文法规生成LR(k)分析表,并对输入串进行语法分析。8,8/8112实验属性:1—基础,2—综合,3—设计,4—研究综合性、设计性实验简介:项目名称:查填符号表1)指导思想:熟悉编译过程,训练编写程序的能力,为后续实验积累经验。2)实验目的及要求:运用所学知识,选择语言、选择算法(数据结构),编程实现符号表管理程序,读出源程序中的标识符,并在符号表中进行查找,若存在则输出该标识符及其编号和位置;否则将其填入符号表,并分配编号,确定位置,输出标识符表。涉及到的内容或知识点:搜索算法、标识符解析等。采用的教学方法和手段:上机指导、组织讨论关键问题。项目名称:简单词法分析1)指导思想:掌握词法分析程序设计的设计原则,单词的描述技