本课程是计算机科学与技术专业的核心课程之一,主要讲述程序设计语言编译构造的基本原理和基本实现方法。本课程主要讲授正则表达式、有穷自动机、自顶向下语法分析、中间代码生成、符号表的组织与管理、代码生成与优化问题等内容。本课程的知识点支撑计算机科学与技术专业的毕业要求2(问题分析)和毕业要求4(研究)。
Overview
Syllabus
- 第一章 编译原理概述
- 1.1编译原理概论
- 1.2编译程序的结构
- 1.3编译器的构造和组成(一)
- 1.4编译器的构造和组成(二)
- 1.5编译器运行的辅助程序与工具
- 1.6编译器运行的主要数据结构(一)
- 1.7编译器运行的主要数据结构(二)
- 1.8自举与移植(一)
- 1.9自举与移植(二)
- 第二章 词法分析
- 2.1扫描过程
- 2.2正则表达式(一)
- 2.3正则表达式(二)
- 2.4正则表达式(三)
- 2.5有穷自动机(一)
- 2.6有穷自动机(二)
- 2.7非确定型有穷自动机(一)
- 2.8非确定型有穷自动机(二)
- 2.9从正则表达式到DFA(一)
- 2.10从正则表达式到DFA(二)
- 2.11从正则表达式到DFA(三)
- 2.12从正则表达式到DFA(四)
- 第三章 上下文无关文法
- 3.1上下文无关文法和语法分析
- 3.2推导(一)
- 3.3推导(二)
- 3.4分析树和抽象语法树
- 3.5二义性文法
- 3.6扩展的表示:EBNF和语法图
- 3.7上下文无关语言的形式属性
- 3.8面向TINY的上下文无关文法
- 第四章 自顶向下的语法分析
- 4.1自顶向下的语法分析介绍
- 4.2递归下降分析(一)
- 4.3递归下降分析(二)
- 4.4自顶向下分析中的差错恢复
- 4.5LL(1)分析(一)
- 4.6LL(1)分析(二)
- 4.7LL(1)文法
- 4.8First集合
- 4.9Follow集合(一)
- 4.10Follow集合(二)
- 4.11LL(1)分析表
- 4.12LL(1)文法中存在的问题
- 4.13消除左递归与提取左因子
- 第五章 语义分析
- 5.1属性文法与语义规则的提取(一)
- 5.2属性文法与语义规则的提取(二)
- 5.3相关图的构造
- 5.4合成属性和继承属性
- 第六章 运行时环境
- 6.1运行时环境(一)
- 6.2运行时环境(二)
- 6.3栈式存储分配的实现(一)
- 6.4栈式存储分配的实现(二)
- 第七章 中间代码与代码生成
- 7.1中间代码(一)
- 7.2中间代码(二)
- 7.3后缀表示(一)
- 7.4后缀表示(二)
- 7.5三地址码(一)
- 7.6三地址码(二)
- 7.7P代码
- 7.8代码生成技术
- 期末测试
Taught by
Liu Gang, Fu Yan, Cao Xue, LI lijie, and Gao Di