《编译原理》课程信息 教学目的与要求 编译程序是现代计算机系统的基本组成部 分之一。本课程重点讲述编译程序的设计 原理和常用实现技术。通过课程的学习和 实验的完成,应该清楚的理解一个编译程 序是如何工作的;如果在以后遇到了任何 个程序设计语言,应该知道如何实现这 个语言的多数机制;应具有一定的使用编 译构造工具开发编译程序的经验;会将所 学的常用技术和算法应用于类似的软件的 设计和实现中
《编译原理》课程信息 教学目的与要求: 编译程序是现代计算机系统的基本组成部 分之一。本课程重点讲述编译程序的设计 原理和常用实现技术。通过课程的学习和 实验的完成,应该清楚的理解一个编译程 序是如何工作的;如果在以后遇到了任何 一个程序设计语言,应该知道如何实现这 个语言的多数机制;应具有一定的使用编 译构造工具开发编译程序的经验;会将所 学的常用技术和算法应用于类似的软件的 设计和实现中
课程架构: 1理论和实践并重的课程 2理论部分的题目出现于书面练习,课堂小测和期末考试 3实践题目( Project) Project1:用高级语言(C或 Pascal)实现扩充的PL/0编译程序 Project2∷使用编译构造工具实现面向对象语言Tool的编译程序 Project3:使用编译构造工具实现扩充的PL0编译程序 Project4:用GCC裁制一个编译器(任选) 4各部分权重 书面练习抽查 课堂小测(两次)10% 实践20%或35%(必做: Project1占10%;选做: Project2占 25%, Projec3占10%;任选: Project4待定) 期末考试70%或55%
课程架构: 1 理论和实践并重的课程 2 理论部分的题目出现于书面练习,课堂小测和期末考试 3 实践题目(Project) – Project1: 用高级语言(C或Pascal)实现扩充的PL/0编译程序 – Project2: 使用编译构造工具实现面向对象语言Tool的编译程序 – Project3: 使用编译构造工具实现扩充的PL0编译程序 – Project4: 用GCC裁制一个编译器(任选) 4 各部分权重 – 书面练习抽查 – 课堂小测(两次) 10% – 实践20%或35% (必做: Project1占10%; 选做: Project2占 25%, Project3占10% ;任选:Project4待定) – 期末考试 70%或55%
教材及主要参考书 教材:《编译原理》(第2版),张素琴 吕映芝、蒋维杜、戴桂兰,清华大学出版社 2004 参考书:《 Compilers;: Principles, Technigues, and Tools Alfred VAho Ravi sethi, Jeffrey DUlman, Addison Nesley,1986.影印版:人民邮电出版社, 2001 参考书:《程序设计语言编译原理》(第3 版),陈火旺、刘春林等,国防工业出版社 2000
教材及主要参考书 教材:《编译原理》(第2版),张素琴、 吕映芝、蒋维杜、戴桂兰,清华大学出版社 2004 参考书:《Compilers: Principles, Technigues, and Tools》 Alfred V.Aho, Ravi Sethi, Jeffrey D.Ullman, AddisonWesley,1986. 影印版:人民邮电出版社, 2001 参考书:《程序设计语言 编译原理》(第3 版),陈火旺、刘春林等,国防工业出版社 2000
教学内容 1编译程序概述 编译程序是现代计算机系统的基本组成部分之 编译程序一般由词法分析程序,语法分析程 序,语义分析程序,中间代码生成程序,目标 代码生成程序,代码优化程序,符号表管理程 序和错误处理程序等成分构成。本章概要介绍 编译成分的主要功能以及编译阶段的逻辑关系 2PL0编译程序剖析 给出一个简单的类 Pasca语言,其编译程序用 级语言(C和 Pascal)实现。通过剖析该高 级语言程序以理解各编译成分的功能及手工实 现方法
教学内容 1 编译程序概述 编译程序是现代计算机系统的基本组成部分之 一.编译程序一般由词法分析程序,语法分析程 序,语义分析程序,中间代码生成程序,目标 代码生成程序,代码优化程序,符号表管理程 序和错误处理程序等成分构成。本章概要介绍 编译成分的主要功能以及编译阶段的逻辑关系。 2 PL/0 编译程序剖析 给出一个简单的类Pascal语言,其编译程序用 高级语言(C和Pascal)实现。通过剖析该高 级语言程序以理解各编译成分的功能及手工实 现方法
教学内容 3高级语言的认识 要学习和构造编译程序,理解和定义程序设计语言 是必不可少的。每个程序设计语言都有一定的规则用 以规定合适程序的语法结构,也需要有对一个程序的 含义的描述。上下文无关文法给出程序设计语言的精 确的,易于理解的语法说明。尚没有公认的形式系统 描述程序含义,但也有流行的描述语义规则的方法- 属性文法。 4词法分析程序的自动构造 词法分析程序是编译程序的一个构成部分,它的主要 任务是扫描源程序,按构词规则识别单词,并报告发 现的词法错误。正则表达式和有穷状态自动机分别作 为单词的描述工具和识别机制,成为词法分析程序的 自动构造原理,学习Lex(Fex)工具的使用方法
教学内容 3 高级语言的认识 要学习和构造编译程序,理解和定义程序设计语言 是必不可少的。每个程序设计语言都有一定的规则用 以规定合适程序的语法结构,也需要有对一个程序的 含义的描述。上下文无关文法给出程序设计语言的精 确的,易于理解的语法说明。尚没有公认的形式系统 描述程序含义,但也有流行的描述语义规则的方法— 属性文法。 4 词法分析程序的自动构造 词法分析程序是编译程序的一个构成部分,它的主要 任务是扫描源程序,按构词规则识别单词,并报告发 现的词法错误。正则表达式和有穷状态自动机分别作 为单词的描述工具和识别机制,成为词法分析程序的 自动构造原理,学习Lex(Flex)工具的使用方法