《编译原理》课件文档
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一.分析文档
1. 目前项目所在领域的现状和发展趋势
《编译原理》课程设置的目的在于让学生系统的了解并掌握程序设计语言编译程序的构造原理和技术。它是国内外大学计算机专业学生的一门重要专业基础课,它的主要内容被列入国际ACM2000教程。其原因如下:1.随着计算机技术的飞速发展,应用范围的迅速扩大。新的程序设计语言和新的CPU将不断诞生,因此不仅需要掌握编译技术的人才,而且需要新的编译技术;2.编译技术不仅适用于处理程序设计语言,实际上,只要涉及符号语言处理,就需要采用编译的基本原理和技术;3.编译原理与技术在软件工程,语言转换等许多领域有着广泛的应用,对于软件开发也有一定的启发和指导作用,因此,一个优秀的程序员应该对编译原理与技术有相当程度的了解。
《编译原理》课程是重要的,但对于许多学生来说掌握它又显得有些困难。利用网络多媒体技术,能把《编译原理》课程中的诸多原理,技术和方法,非常形象的演示出来。
新的程序设计语言和新的CPU将不断诞生,《编译原理》课程的内容要求不断更新,要做到这一点,靠传统出版教课书的途径是困难的,而用HTML+JAVA制成的课件,进行更新将是比较容易的。
目前,有一些高校使用的教材比较陈旧,把过时的技术作为重点进行讲授;有的高校甚至找不到合适的教员。
国外网站上,也没有发现合适的《编译原理》教学课件,一般来说,网站上有的仅是教员上课用的幻灯片。
2
鉴于上述情况,《编译原理》网络版教程,将会产生明显的社会效益和经济效益。
2.本项目的目标和教学内容
(1)本项目的目标是:
建立《编译原理》网络课程, 学生使用它学习《编译原理》课程,能够掌握构造编译程序的原理,技术和工具,而且使学生对该领域产生浓厚的兴趣和求知欲。为以后进一步从事软件工作打下良好的基础。
(2)教学内容:
各章节基本内容如下:
第一章:概述
编译和解释,编译程序的组成,现状及展望。
第二章:语言的基本知识
语言和文法的形式定义,分析树和二义性,形
式语言概观
第三章:词法分析
词法分析器的手工构造,正规表达式,有限自
动机,lex介绍
第四章:语法分析
自顶向下分析,预测递归下降分析,LL(1)分析
自底向上分析,算符优先分析,LR(SLR,LR(1),
LALR)分析,yacc介绍
第五章:语法制导翻译
语法制导定义,语法树的构造,S-属性定义及自底向上的计算,
3
L-属性定义, 自顶向下翻译, 自底向上计算继承属性,类型分析。
第六章:运行时刻环境的组织
有关源语言中的一些问题的讨论,存储组织,运行时
刻存储分配策略,对非局部名字的访问,参数传递。
第七章:中间代码生成
中间语言,说明语句的处理,符号表的管理,赋值语
句,布尔表达式和控制语句,回填,过程语句。
第八章:目标代码生成
目标机器,运行存储管理,基本块和流图,下次引用
信息,一个简单的代码生成器,基本块的DAG表示及
用其生成目标代码。
附:一个小型的编译程序及讲解
注:每章后附有习题
3.本项目的实现方法和技术路线
1)选材系统性,先进性,典型性。主要参考如下教材:
(1)杜淑敏等,编译程序设计原理,北京大学出版社,1998.10.
(第二次印刷)
(2)Alfred V.Aho,Ravi Sethi,Jeffrey D.Ullman,Compilers
Principles,Techniques,and Tools,Addison-Wesley
Publishing Company, 1986.
(3)AndrewW.Appel Modern Compiler Implementation
in C,1998.
2)选用通用的网络开发工具,使得开发的课件能在通用的网络
4
系统上运行:
(1)HTML 页面制作
(2)JAVA 算法和基本原理的交互式演示
(3)POWERPOINT 讲授内容(教师讲授用,学生观看)因此,网络版课程具有共享性和互操作性。
3) 《编译原理》网上课程希望在以下几方面突破传统课堂教学的局限:
(1)教学内容不是书本搬家,而尽量体现知识的系统性。在保
证教学内容系统性、简洁性的同时,用多媒体手段提高教
学内容的生动性和趣味性。
(2)充分利用计算机网络技术,对基础算法和原理提供交互式
的演示。在教学理论指导下设计教学进程,辅助学生自学、
复习。
(3)建立丰富的教学资源库,满足教员和不同程度的需要。
4.使用编译原理课件的对象
1)计算机软件专业的本科生。
2)希望学习《编译原理》的学生和工程技术人员。
3)教授《编译原理》课程的老师。
5
二.设计文档
6
三.使用手册
7
1.建立《编译原理》网络课程目标
学生使用它学习《编译原理》课程,能够掌握构造编译程序的原理,技术和工具,而且使学生对该领域产生浓厚的兴趣和求知欲。为以后进一步从事软件工作打下良好的基础。
2.教学内容(共8章)各章基本内容如下:
第一章:概述
编译和解释,编译程序的组成,现状及展望。
第二章:语言的基本知识
语言和文法的形式定义,分析树和二义性,形
式语言概观
第三章:词法分析
词法分析器的手工构造,正规表达式,有限自
动机,lex介绍
第四章:语法分析
自顶向下分析,预测递归下降分析,LL(1)分析
自底向上分析,算符优先分析,LR(SLR,LR(1),
LALR)分析,yacc介绍
第五章:语法制导翻译
语法制导定义,语法树的构造,S-属性定义及自底向
上的计算,L-属性定义, 自顶向下翻译, 自底向上
计算继承属性,类型分析。
第六章:运行时刻环境的组织
有关源语言中的一些问题的讨论,存储组织,运行时
8