《编译原理》课程信息
教学目的与要求:
编译程序是现代计算机系统的基本组成部
分之一。本课程重点讲述编译程序的设计
原理和常用实现技术。通过课程的学习和
实验的完成,应该清楚的理解一个编译程
序是如何工作的;如果在以后遇到了任何
一个程序设计语言,应该知道如何实现这
个语言的多数机制;应具有一定的使用编
译构造工具开发编译程序的经验;会将所
参考书:《程序设计语言 编译原理》(第3 版),陈火旺、刘春林等,国防工业出版社 2000
等等
2021/3/7
CHENLI
2
教学内容
1 编译程序概述 编译程序是现代计算机系统的基本组成部分之 一.编译程序一般由词法分析程序,语法分析程 序,语义分析程序,中间代码生成程序,目标 代码生成程序,代码优化程序,符号表管理程 序和错误处理程序等成分构成。本章概要介绍 编译成分的主要功能以及编译阶段的逻辑关系。
教学内容
5 语法分析程序的构造
自顶向下的语法分析。可以看作是为一个输入串寻找 一个最左推导的过程,也等价于从根开始,按前序生成 结点,为输入串构造分析树的过程。讨论一种有效的 无回溯的自顶向下分析程序,这种分析程序称为预测 分析程序。介绍对于一个文法类:LL(1)文法, 如 何自动的构造预测分析程序。
2 PL/0 编译程序剖析 给出一个简单的类Pascal语言,其编译程序用 高级语言(C和Pascal)实现。通过剖析该高 级语言程序以理解各编译成分的功能及手工实 现方法。
2021/3/7
CHENLI
3
教学内容
3 高级语言的认识
要学习和构造编译程序,理解和定义程序设计语言
是必不可少的。每个程序设计语言都有一定的规则用 以规定合适程序的语法结构,也需要有对一个程序的 含义的描述。上下文无关文法给出程序设计语言的精 确的,易于理解的语法说明。尚没有公认的形式系统 描述程序含义,但也有流行的描述语义规则的方法— 属性文法。