《编译原理》实验教学大纲
《编译原理》实验教学大纲
课程编号: 773033
课程名称:编译原理
英文名称:Compiler Principle
课程类型: 模块课
学 时:5
学 分:4
适用对象: 软件开发各专业方向
先修课程:程序设计、计算机组成原理、数据结构、操作系统
一、课程性质、目的和任务
《编译原理》课程是计算机科学与技术专业的一门重要专业课。本课程系统讲述程序设计语言的编译程序的概念、构造、以及实现的主要算法和技术。通过本课程的学习,使学生掌握编译程序的前三个逻辑阶段:在词法分析中,深入理解正规表达式与有限自动机的理论和不确定的有限自动机转化为确定有限自动机的方法;在语法分析中,理解上下文无关方法的概念,掌握自上而下分析和自下而上分析的方法,深入理解消除左递归、消除回溯、提取左因子的方法和LL(1)分析法;在语义分析和中间代码生成中,掌握属性文法和语法制导翻译的基本思想、中间代码的格式和语句翻译的方法。了解编译程序的后两个阶段:优化和目标代码生成。除此之外,还需对符号表管理以及运行时存储空间组织的管理方法加以了解。为今后从事编译及其他有关软件的研究和开发工作打下较为坚实的基础。
二、教学基本要求
通过本课程的学习,应使学生达到以下基本要求:
1、正确理解什么是编译程序,掌握编译程序工作的基本过程及其各阶段的基本任务,熟悉编译程序总体框架,了解编译程序的生成过程和构造工具。
2、熟悉并掌握上下文无关文法基本概念,包括:文法的定义、编写、句型、句子、语言、语法树、二义性等,理解三种参数传递方式:传值、传地址、传名的含义。
3、熟悉并掌握词法分析器功能及形式、词法分析器设计的原理、状态转换图的原理及使用方法。
4、熟悉并掌握自上而下分析的基本思想、递归下降分析的基本方法、消除左递归和回溯的方法、构造递归下降子程序的方法,预测分析程序的基本原理和预测分析表的构造方法、LL(1)方法。
5、熟悉并掌握自下而上语法分析的基本思想以及归约、短语、句柄、分析树等概念,掌握算符优先分析基本方法,算符优先表和和算符优先函数构造技术。
6、熟悉并掌握语法制导翻译基本原理、基于属性文法的处理方法、自上而下分析制导翻译基本思想和实现方法。
7、掌握常见的几种中间语言:四元式、三元式、逆波兰表示,掌握各种语句到四元式的翻译方法,包括简单算术表达式,布尔表达式,控制语句,数组引用,过程调用等。
8、理解符号表的作用及符号表组织和使用方法,了解名字的作用范围,了解符号表中一般应包含的内容。
三、实验内容及要求
大纲基本内容包括5个必做的实验内容,在规定的16个学时内完成。
实验一 小型词法分析器的设计(设计性实验,2学时)
编写一个小型词法分析器,对于输入的一段英语文本,可以统计:
(1)该文本中有多少英语单词,并把每个单词都列出来;
(2)该文本中有多少不同的英语单词,并把不同的单词都列出来。
实验二 小型词法分析器的设计(设计性实验,2学时)
编写两个小型语法分析器,对于输入的数学表达式,可以获取其中的运算数和运算符;对于输入的一段程序,可以获取该程序的单词符号。作业要求:
(1)了解该语言的单词符号;
(2)为单词符号构造对应的状态转换图;
(3)根据状态转图的结构进行计算机实现。
实验三 小型语法分析器的设计(设计性实验,4学时)
对于给定的文法,采用递归下降分析程序构造方法为其实现一个小型语法分析器。该分析器能够对于给定的输入,按照先后顺序将使用的产生式输出。如果输入语法正确,则输出正确结果;如果输入语法错误,则报错。
实验四 小型语法分析器的设计(设计性实验,4学时)
对于给定的文法,采用算符优先分析算法为其实现一个小型语法分析器,该分析器能够对于给定的输入,输出算法优先分析步骤。如果输入语法正确,则输出正确结果;如果输入语法错误,则报错。(选做题:设计一个小型公式编辑器的上下文无关文法,并进行自上而下分析的实现。)
实验五 小型编译程序的设计(设计性实验,4学时)
根据给定的算术表达式的文法,利用翻译模式,制作可编程计算器。要求考虑
(1)语法正确与否问题;
(2)整形和浮点型问题;
(3)除数为0问题。
(选做题:将语义分析纳入到小型公式编辑器中,并将小型公式编辑器实现出来。)
四、考核方式
划分小组,作业考核采取小组组长和任课教师共同检查的制度。
五、推荐教材和教学参考书
教 材:
《程序设计语言编译原理 (第3版)》,陈火旺、刘春林编著,国防工业出版社,2007年。
参考书目:
(1)陈意云、张昱,编译原理(第3版),高等教育出版社, 2014
(2)陈意云、张昱,编译原理习题精选与解析(第3版),高等教育出版社,2014
(3)Alfred V.Aho,编译原理,机械工业出版社,2009
(4)Alfred V.Aho, Ravi Sethi, Jeffrey D.Ullman, 编译原理 技术与工具(英文版), 人民邮电出版社 ,2002
(5)Louden, K.C, 编译原理及实践(英文版), 中信出版社 ,2004
大纲制订人:
大纲审定人:
制订日期:
文章来源: aaaedu.blog.csdn.net,作者:tea_year,版权归原作者所有,如需转载,请联系作者。
原文链接:aaaedu.blog.csdn.net/article/details/118355564
![](https://res.hc-cdn.com/ecology/9.3.128/v2_resources\images\global\blog-dialog.png)
华为开发者空间发布
让每位开发者拥有一台云主机
- 点赞
- 收藏
- 关注作者
评论(0)