北京邮电大学《编译原理与技术》课程教学大纲

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《编译原理与技术》课程教学大纲

一、课程编号:1311020

二、课程名称:编译原理与技术(64学时)

Compiler Principle and Technology

三、课程教学目的

通过本课程的学习,使学生了解并掌握程序设计语言的编译程序的设计原理与实现技术,了解编译程序的构造方法;加深学生对高级程序设计语言的理解,做到触类旁通;使学生体会到其他专业基础知识如算法与数据结构、程序设计、操作系统、形式语言与自动机、计算机组成原理、汇编语言、软件工程等综合应用,对计算机的软硬件工作原理建立比较深刻的理解,提高学生的专业素养,使学生能够利用所学的理论知识解决实际问题,培养学生分析问题、解决问题的能力。

四、课程教学基本要求

1.了解编译的基本概念和步骤,编译程序的基本组成、结构、编译环境等基本概念。

2.掌握词法分析的原理、词法分析程序的设计和实现方法。

3.掌握语法分析的原理和实现技术、简单的语法分析程序的设计和实现。

4.掌握语法制导翻译技术。

5.理解利用语法制导翻译技术进行语义分析、中间代码生成的实现。

6.理解程序运行环境、代码生成相关的基本概念和实现方法。

7.了解代码优化技术的基本概念和方法。

五、教学内容及学时分配(含实验)

第一章编译概述2学时

1.翻译和解释

2.编译的阶段

3.编译程序的前后处理器(预处理器、汇编程序、连接装配程序)第二章词法分析4学时

1.词法分析器的作用

2.词法分析器的输入与输出

3.记号的描述与识别

4.词法分析程序的设计与实现

5*.软件工具LEX(规格说明、工作原理)

1.语法分析器的作用

2.自顶向下分析(预测分析器、非递归的预测分析器)

3.自底向上分析(规范归约、移进-归约方法实现)

4.LR分析器(模型及工作过程、SLR(1)分析器、LR(1)分析器、LALR(1)分析器)5.LR分析方法对二义文法的应用

6*.软件工具YACC (规格说明、二义性处理)

第四章语法制导翻译技术8学时

1.语法制导定义与翻译方案

2.S属性定义的自底向上翻译

3.L属性的自顶向下翻译

4.L属性的自底向上翻译

第五章语义分析4学时

1.语义分析的概念

2.符号表的组织与管理

3.类型检查(类型表达式、类型等价)

4.简单类型检查器的说明(语言说明、确定标识符的类型、表达式及语句的类型检查)

5*.类型检查有关的其他主题(函数和运算符的重载、类型转换、多态函数)第六章运行环境6学时

1.程序运行时的存储组织

2.存储分配策略(静态存储分配、栈式存储分配、堆式存储分配)

3.访问非局部名字

4.参数传递方式

第七章中间代码生成6学时

1.中间代码形式

2.赋值语句的翻译

3.布尔表达式的翻译

4.控制语句的翻译

5.过程调用语句的翻译

1.代码生成概述

2.基本块与流图

3.一个简单的代码生成程序

第九章代码优化2学时

1.优化概述

2.基本块的优化

3.循环优化

教学实践:

实验1.设计并实现一个C语言程序的词法分析程序4学时

实验2.设计并实现一个简单赋值语句的语法分析程序12学时

六、教学重点、难点

重点:语法分析、语法制导翻译技术、运行环境、中间代码生成

难点:语法分析、语法制导翻译技术

七、先修课程:计算机导论与程序设计、算法与数据结构、形式语言与自动机、计算机组成原理

八、适用专业:计算机科学与技术、网络工程

九、使用教材及参考书目

《编译原理与技术》李文生编著清华大学出版社 2009.1

执笔人: 李文生

相关文档
最新文档