还剩3页未读,继续阅读
文本内容:
《编译原理》课程教学大纲课程英文名称Compiling Principle课程编号学分学时0800440348-、课程教学对象本教学大纲适用于计算机学院各专业普通本科学生
二、课程性质及教学目的本课程属专业技术基础课程通过本课程的学习,使学生全面、系统地掌握计算机编译原理的基本概念、工作原理和工作过程,理解形式语言和自动机理论,了解编译技术中使用的数据结构和算法使学生在系统的级别上重新认识算法和程序,提升学生的计算机问题求解的水平,增强系统能力,体验实现自动计算的乐趣此外,该课程还有利于进一步培养学生的形式化描述能力、算法设计与分析能力、程序设计与实践能力
三、对先修知识的要求本课程的先修课程为离散数学、程序设计、数据结构、操作系统、计算机组成原理等通过离散数学课程的学习,使学生具备基本的计算机科学的抽象思维能力和逻辑思维能力;而掌握程序设计和数据结构的基本知识后,学生能够用高级语言表达算法和问题,熟练编程并求解通过操作系统课程和计算机组成原理课程的学习,使学生对计算机硬件和软件系统能够有较全面的认识这些都将为编译原理课程的学习打下基础
四、课程的主要内容、基本要求和学时分配建议(总学时数:)40知识模块知识点要求学时学习方式课外学习要求编译程序的功能课堂讲授
1.1B
1、编译程序的
1.2编译过程A课堂讲授基本概念编译程序结构课堂讲授
1.3A解释程序课堂讲授
1.4C
32、PL/0编译程
2.1PL/0语言描述B课堂讲授序编译程序结构课堂讲授
2.2PL/0C
3、典型的编译
3.1C++语言的编译器C自学辅导器语言的编译器自学辅导
3.2Java C文法的直观概念课堂讲授
4.1C
44、文法的概念
4.2符号和符号串B课堂讲授文法和语言的定义课堂讲授
4.3A文法的类型课堂讲授
4.4A
5、上下文无关
5.1语法树B课堂讲授的文法句型分推导课堂讨论
5.2A析二义文法课堂讲授
5.3B自上而下的分析方法课堂讲授
6.1A、句型分析6自卜上的分析方法课堂讲授
6.2ItU A句型分析的相关问题课堂讲授
6.3B
7、文法的限制
7.1实用限制B课堂讨论和规则上下文无关中的£规则课堂讲授
7.2B词法分析程序设计的接口方式课堂讲授
8.1C
8、词法分析程
8.2词法分析程序的输出B课堂讨论序的设计词法分析程序的设计模式课堂讲授
8.3C3词法分析程序的自动构造工具自学辅导
8.4C正规文法课堂讲授
9.1A、单词描述9正规式课堂讲授
9.2A正规文法和正规式的等价性课堂讨论
9.3A确定的有穷自动机DFA课堂讲授
10.1A
10.2不确定的有穷自动机NFAA课堂讲授到的转换课堂讲授
10.3NFA DFA A、有穷自动103的化简课堂讲授
10.4DFAA机正规式和有穷自动机的等价性课堂讨论
10.5A课堂讨论A正规文法和有穷自动机的等价性
10.6基本概念课堂讲授
11.1B、确定的自11FIRST计算课堂讲授
11.2A顶可下分析1FOLLOW计算课堂讲授
11.3A思想计算课堂讨论
11.4SELECT A
12.1LL⑴的含义B课堂讲授
4、12LL1LL1文法的判别课堂讨论
12.2A文法非文法至文法的等
12.3LL1U LL1课堂讲授A价变换
13、自顶向下
13.1不确定的自顶向下分析思想C自学辅导分析递归子程序方法课堂讲授
13.2C预测分析方法课堂讲授
13.3A、自底向上144自底向上分析概述课堂讲授
14.1B简单优先分析课堂讲授
14.2B算符优先分析课堂讨论
14.3A优先函数课堂讲授
14.4B分析概述课堂讲授
15.1LR BLR0分析课堂讲授
15.2A、分析15LR分析课堂讨论
15.3SLR1A6方法LR1分析课堂讲授
15.4A分析课堂讨论
15.5LALR1A二义文法课堂讲授
15.6B
16、语法制导
16.1语法制导翻译概述B课堂讲授翻译属性文法课堂讲授
16.2B逆波兰式课堂讨论
17.1A、中间代码17四元式课堂讲授
17.2A生成5三元式和其它表示自学辅导
17.3C简单赋值语句的翻译课堂讲授
18.1A布尔表达式的翻译课堂讲授
18.2A、语句翻译18控制结构的翻译课堂讲授
18.3B其它语句的翻译课堂讲授
18.4C符号表的作用和地位课堂讲授
19.1B、符号表的19符号表的主要属性课堂讲授
19.2A组织符号表的组织课堂讲授
19.3A符号表的初始化课堂讲授
20.1B
20、符号表的
20.2符号表的查找B课堂讲授管理课堂讲授B4符号表中分程序结构层次的管理
20.3运行时内存的划分课堂讲授
21.1B、存储组织21活动记录课堂讲授
21.2B静态分配课堂讲授
22.1C、运行时的22栈式分配课堂讲授
22.2A分配策略堆式分配课堂讨论
22.3C、优化技术中间代码优化技术课堂讲授
2323.1C
4、局部优化基本块的划分课堂讲授
2424.1A基本块的变换课堂讨论
24.2B图表示及应用课堂讲授
24.3DAG A程序流图课堂讲授
25.1B、循环优化25循环查找课堂讨论
25.2B循环优化课堂讲授
25.3B全局优化概念自学辅导
26.1C、全局优化26全局优化方法自学辅导
26.2C
27、目标代码
27.1目标代码生成概述C自学辅导生成目标代码生成方法自学辅导
27.2C注知识点中粗体字部分为本课程的重点或难点(按照本课程知识体系列出知识模块及知识点,其中重点或难点用粗体字标注;要求按“了解)»、(C“熟悉()”、逸练掌握)”三个层次描述学生对知识点应达到的要求B(A
五、建议使用教材及参考书张素琴等.编译原理(第版)北京清华大学出版社,
[1]2[M].2005蒋立源.编译原理(第版)西安西北工业大学出版社,
[2]3[M].2007陈意云.编译原理(第二版).高等教育出版社,
[3]2008胡伦俊等.编译原理(第版)北京电子工业大学出版社,
[4]2[M].2007赵建华等译.编译原理北京机械工业出版社,
[5]Alfred VAho.[M].2010冯博琴译,现代编译程序设计北京人民邮电出版社,
[6]Dick Grune.[M].2005侯文永,张冬茉.编译原理北京电子工业出版社,
[7][M].2002王生原等.编译原理课程辅导北京清华大学出版社,
[8][M].2007王晓斌,陈文宇.程序设计语言与编译一语言的设计和实现北京电子工业出版社,
[9][M].2009蒋宗礼,姜守旭.形式语言与自动机理论.北京清华大学出版社,
[10][M]2003
六、课程考核方式本课程采用笔试闭卷的考核方式,要求学生熟练掌握课程教学目标要求的内容,并能有效表达和运用,以达到该课程的能力培养目标采用平时成绩和期末考试成绩相结合的方式平时表现(考勤、随堂提问、作业、随堂测验、实验环节)期末考试30%,70%
七、课内实验环节及要求(总学时数)8序号实验(实训)项目实验(实训)内容实验(实训)目的及要求学时词法分析编写一个词法分析程序目的理解词法分析的任务、14也可以是词法分析中的部工作过程和实现方法分功能要求运用高级语言C++/Java编写一个词法分析程序也可以是词法分析中的部分功能,给出实验报告目的理解语法分析的任务、工作过程和实现方法要求运用高级语言编写一个语法分析程序,可编写一个语法分析程C++/Java2语法分析以选择方法、算符优4LL1序,给出实验报告该实验由于先分析方法或方法之一LR难度较大,可以组成小组2〜4人共同完成。