最新清华大学编译原理编译原理(第2版)教学教案合集.pdf

最新清华大学编译原理编译原理(第2版)教学教案合集.pdf

ID:52096320

大小:3.21 MB

页数:998页

时间:2020-03-22

最新清华大学编译原理编译原理(第2版)教学教案合集.pdf_第1页
最新清华大学编译原理编译原理(第2版)教学教案合集.pdf_第2页
最新清华大学编译原理编译原理(第2版)教学教案合集.pdf_第3页
最新清华大学编译原理编译原理(第2版)教学教案合集.pdf_第4页
最新清华大学编译原理编译原理(第2版)教学教案合集.pdf_第5页
资源描述:

《最新清华大学编译原理编译原理(第2版)教学教案合集.pdf》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、《编译原理》课程信息n教学目的与要求:编译程序是现代计算机系统的基本组成部分之一。本课程重点讲述编译程序的设计原理和常用实现技术。通过课程的学习和实验的完成,应该清楚的理解一个编译程序是如何工作的;如果在以后遇到了任何一个程序设计语言,应该知道如何实现这个语言的多数机制;应具有一定的使用编译构造工具开发编译程序的经验;会将所学的常用技术和算法应用于类似的软件的设计和实现中。课程架构:1理论和实践并重的课程2理论部分的题目出现于书面练习,课堂小测和期末考试3实践题目(Project)–Project1:用高级语言(C或Pascal)实现扩充的PL/0编译程序–Pr

2、oject2:使用编译构造工具实现面向对象语言Tool的编译程序–Project3:使用编译构造工具实现扩充的PL0编译程序–Project4:用GCC裁制一个编译器(任选)4各部分权重–书面练习抽查–课堂小测(两次)10%–实践20%或35%(必做:Project1占10%;选做:Project2占25%,Project3占10%;任选:Project4待定)–期末考试70%或55%教材及主要参考书n教材:《编译原理》(第2版),张素琴、吕映芝、蒋维杜、戴桂兰,清华大学出版社2004n参考书:《Compilers:Principles,Technigues,a

3、ndTools》AlfredV.Aho,RaviSethi,JeffreyD.Ullman,Addison-Wesley,1986.影印版:人民邮电出版社,2001n参考书:《程序设计语言编译原理》(第3版),陈火旺、刘春林等,国防工业出版社2000教学内容1编译程序概述编译程序是现代计算机系统的基本组成部分之一.编译程序一般由词法分析程序,语法分析程序,语义分析程序,中间代码生成程序,目标代码生成程序,代码优化程序,符号表管理程序和错误处理程序等成分构成。本章概要介绍编译成分的主要功能以及编译阶段的逻辑关系。2PL/0编译程序剖析给出一个简单的类Pascal语

4、言,其编译程序用高级语言(C和Pascal)实现。通过剖析该高级语言程序以理解各编译成分的功能及手工实现方法。教学内容3高级语言的认识要学习和构造编译程序,理解和定义程序设计语言是必不可少的。每个程序设计语言都有一定的规则用以规定合适程序的语法结构,也需要有对一个程序的含义的描述。上下文无关文法给出程序设计语言的精确的,易于理解的语法说明。尚没有公认的形式系统描述程序含义,但也有流行的描述语义规则的方法—属性文法。4词法分析程序的自动构造词法分析程序是编译程序的一个构成部分,它的主要任务是扫描源程序,按构词规则识别单词,并报告发现的词法错误。正则表达式和有穷状态

5、自动机分别作为单词的描述工具和识别机制,成为词法分析程序的自动构造原理,学习Lex(Flex)工具的使用方法。教学内容5语法分析程序的构造n自顶向下的语法分析。可以看作是为一个输入串寻找一个最左推导的过程,也等价于从根开始,按前序生成结点,为输入串构造分析树的过程。讨论一种有效的无回溯的自顶向下分析程序,这种分析程序称为预测分析程序。介绍对于一个文法类:LL(1)文法,如何自动的构造预测分析程序。n自底向上(自下而上)语法分析方法,也称移进-归约分析法。它的实现思想是对输入符号串自左向右进行扫描,并将输入符逐个移入一个后进先出栈中,边移进边分析,一旦栈顶符号串形

6、成可归约串,就用相应非终结符代替可归约串,这称为一步归约,重复这一过程,直到归约到栈中只剩文法的开始符号时,则为分析成功,并确认输入串是文法的句子。本章介绍LR分析法,分析过程中归约的是当前句型的句柄,称为规范归约。重点讲解LR类(LR(0)、SLR(1)、LALR(1)、LR(1))文法的分析表的构造原理。教学内容6语义分析和中间代码生成在词法分析和语法分析之后,编译程序下一个逻辑阶段的任务是语义分析和生成中间代码。引入属性文法和语法制导的翻译的概念,介绍中间代码的形式,针对一些语法成分讨论相应语义处理工作的描述。7符号表介绍符号表的一般组织和使用方法,讨论分

7、程序结构语言的名字作用域分析及符号表设计方案。教学内容8运行时的存储组织和管理编译的最终目标是生成目标程序。在目标代码生成前,编译程序必须对目标程序运行时的数据空间进行组织和安排.介绍目标程序运行时的数据空间的存储分配策略,说明程序设计语言本身关于名称的作用域和生存期的规则与存储分配策略的关系,重点讨论栈式动态存储方案.教学内容9代码优化和目标代码生成代码优化是对代码作一些等价变换,以使得最后生成的目标代码更为高效。介绍优化技术,优化分类以及优化工作的基础-控制流和数据流分析问题。编译的最后一个逻辑阶段是目标代码生成。目标代码生成程序的设计细节要考虑目标语言和操

8、作系统的特点。讨论目标代

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。