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