《编译原理》实验教学大纲..docVIP

  • 11
  • 0
  • 约 6页
  • 2016-12-31 发布于重庆
  • 举报
《编译原理》实验教学大纲.

《编译原理》课程实验教学大纲 1.实验课程号: 20013B3sy 2.课程属性:必修 3.实验属性:非独立设课 4.学时学分: 12学时 5.实验应开学期:秋季 6.先修课程:C语言FORTRAN语言或PASCAL语言,汇编语言,数据结构,离散数学等。 一、课程的性质与任务 本课程属于计算机科学与技术专业的一门重要的专业必修课。通过课程学习,使学生掌握编译程序的一般构造原理,包括语言基础知识、词法分析程序设计原理和构造方法。了解各种语法分析技术和中间代码生成符号表的构造、代码优化、并行编译技术常识及运行时存储空间的组织等基本方法和主要实现技术。本课程有一定的理论性,又有一定的实践性, 尤其是它与计算机应用中很多领域有紧密联系与广泛应用。了解与掌握本课程的基本内容将有利于学生提高专业素质和适应社会多方面需要的能力。 二、实验的目的与基本要求 通过实验使学生对比较抽象的编译理论内容产生一个具体的感性认识,能把《编译原理》的相关理论运用到软件开发中。在学生手动生成词法分析器及完成一些小的语法分析器的 过程中,使学生对这些部份的工作机理有一个详细的了解,达到“知其然,且知其所以然”,从而提高学生的应用程序设计能力,提高分析问题、解决问题的能力。 三、实验考核方式及办法 实验成绩评分办法:实验成绩占课程成绩的20%。 四、实验项目一览表 编译原理实验项目一览表 序 实验项目 实验 实验 适用 学 号 名称 类型 要求 专业 时 1 源程序的输入和扫描 设计性 必做 计算机应用类 2 2 词法分析 设计性 必做 计算机应用类 4 3 语法分析 设计性 必做 计算机应用类 6 五、实验项目的具体内容: 实验一:源程序的输入和扫描 1.本次实验的目的和要求 理解源程序被编译器读取的过程,掌握扫描程序的编写方法。 2.实验内容或原理3.需用的4.实验步骤程序要求: 如源程序为C语言。输入如下一段: main() { int a,b ,c; a = 10; b=20; c=a+b; } 要求输出与输入相同。 要点:读字符的子程序作为单独一个过程(函数),每调用它一次只返回缓冲区里的一个字符,主程序连续调用它就得到完整的输出。(见右图) 练习该实验的目的和思路: 程序非常简单,但要明白该程序的作用,为什么要设计成独立的子函数?要将它和在以后的实验中进行比较,可得出这样处理的目的。 5.教学方式6.考核要求 词法分析实验 1.本次实验的目的和要求 了解词法分析器的内部工作原理,通过本次实验,掌握对字符进行灵活处理的方法。 2.实验内容或原理3.需用的4.实验步骤程序输入/输出示例: 如源程序为C语言。输入如下一段: main() { int a,b; a = 10; b = a + 20; } 要求输出如右图。 要求: 识别保留字:if、int、for、while、do、return、break、continue 其他的都识别为标识符; 常数为无符号整形数; 运算符包括:+、-、*、/、=、、、=、=、!= 分隔符包括:,、;、{、}、(、) 以上为参考,具体可自行增删。 程序思路(仅供参考): a. 定义部分:定义常量、变量、数据结构。 b. 初始化:从文件将源程序全部输入到字符缓冲区中。 c. 取单词前:去掉多余空白。 d. 取单词后:去掉多余空白(可选,看着办)。 e. 取单词:利用实验一的成果读出单词的每一个字符,组成单词,分析类型。(关键是如何判断取单词结束?取到的单词是什么类型的单词?) f. 显示结果。 5.教学方式6.考核要求2.实验内容或原理3.需用的4.实验步骤5.教学方式6.考核要求 七、教改说明及其他 主撰人 :王奕 审核人:贺智勇 分管教学院长:张林峰 2007年 5 月 8 日 (2,”main”) (5,”(“) (5,”)“) (5,”{“) (1,”int”) (2,”a”) (5,”,”) (2,”b”) (5,”;”) (2,”a”) (4,”=”) (3,”10”) (5,”;”) (2,”b”)

文档评论(0)

1亿VIP精品文档

相关文档