- 1、本文档共998页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《编译原理》课程信息
n 教学目的与要求:
编译程序是现代计算机系统的基本组成部
分之一。本课程重点讲述编译程序的设计
原理和常用实现技术。通过课程的学习和
实验的完成,应该清楚的理解一个编译程
序是如何工作的;如果在以后遇到了任何
一个程序设计语言,应该知道如何实现这
个语言的多数机制;应具有一定的使用编
译构造工具开发编译程序的经验;会将所
学的常用技术和算法应用于类似的软件的
设计和实现中。
课程架构:
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%
教材及主要参考书
n 教材:《编译原理》(第2版),张素琴、
吕映芝、蒋维杜、戴桂兰,清华大学出版社
2004
n 参考书:《Compilers: Principles,
Technigues, and Tools》Alfred V.Aho,
Ravi Sethi, Jeffrey D.Ullman, Addison-
Wesley,1986. 影印版:人民邮电出版社,
2001
n 参考书: 《程序设计语言编译原理》(第3版
),陈火旺、刘春林等,国防工业出版社
2000
教学内容
1 编译程序概述
编译程序是现代计算机系统的基本组成部分之
一.编译程序一般由词法分析程序,语法分析程
序,语义分析程序,中间代码生成程序,目标
代码生成程序,代码优化程序,符号表管理程
序和错误处理程序等成分构成。本章概要介绍
编译成分的主要功能以及编译阶段的逻辑关系
。
2 PL/0 编译程序剖析
给出一个简单的类Pascal语言,其编译程序用
高级语言(C和Pascal)实现。通过剖析该高
级语言程序以理解各编译成分的功能及手工实
现方法。
教学内容
3 高级语言的认识
要学习和构造编译程序,理解和定义程序设计语言
是必不可少的。每个程序设计语言都有一定的规则用
以规定合适程序的语法结构,也需要有对一个程序的
含义的描述。上下文无关文法给出程序设计语言的精
确的,易于理解的语法说明。尚没有公认的形式系统
描述程序含义,但也有流行的描述语义规则的方法—
属性文法。
4 词法分析程序的自动构造
词法分析程序是编译程序的一个构成部分,它的主要
任务是扫描源程序,按构词规则识别单词,并报告发
现的词法错误。正则表达式和有穷状态自动机分别作
为单词的描述工具和识别机制,成为词法分析程序的
自动构造原理,学习Lex (Flex)工具的使用方法。
教学内容
5 语法分析程序的构造
n 自顶向下的语法分析。可以看作是为一个输入串寻找
一个最左推导的过程,也等价于从根开始,按前序生成
结点,为输入串构造分析树的过程。讨论一种有效的
无回溯的自顶向下分析程序,这种分析程序称为预测
分析程序。介绍对于一个文法类:LL (1)文法, 如
何自动的构造预测分析程序。
n 自底向上(自下而上)语法分析方法,也称移进-归
约分析法。它的实现思想是对输入符号串自左向右进
行扫描,并将输入符逐个移入一个后进先出栈中,边
移进边分析,一旦栈顶符号
文档评论(0)