- 1-1什么是编译
- 1-2编译系统的结构
- 1-3词法分析
- 1-4语法分析概述
- 1-5语义分析概述
- 1-6中间代码生成和编译器后端
- 2-1词法语法分析基本概念
- 2-2文法定义
- 2-3语言的定义
- 2-4文法的分类
- 2-5CFG的分析树
- 3-1正则表达式
- 3-2正则定义
- 3-3有求自动机
- 3-4有穷自动机的分类
- 3-5从正则表达式到有穷自动机
- 3-6从NFA到DFA的转换
- 3-7识别单词的DFA
- 4-1自顶向下分析概述
- 4-2文法转换
- 4-3LL1文法
- 4-4FIRST集和FOLLOW集
- 4-5递归的预测分析法
- 4-6非递归的预测分析法
- 4-7预测分析法中的错误处理
- 4-8自底向上的分析概述
- 4-9LR分析法概述
- 4-10 LR0分析
- 4-11 LR0分析表构造
- 4-12SLR
- 4-13LR1分析
- 4-14LALR分析法
- 4-15二义性文法的LR分析
- 4-16LR分析中的错误处理
- 5-1语法制导翻译概述
- 5-2语法制导定义
- 5-3SSD的求值顺序
- 5-4S属性定义与L属性定义
- 5-5语法制导翻译方案
- 5-6在非递归的预测分析过程中进行翻译
- 5-7在递归预测过程中进行翻译
- 5-8L属性定义的自底向上翻译
- 6-1类型表达式
- 6-2声明语句的翻译
- 6-3简单赋值语句的翻译
- 6-4数组引用的翻译
- 6-5控制流语句SDT
- 6-6布尔表达式SDT
- 6-7控制流的例子
- 6-8布尔表达式的回填
- 6-9控制流语句的回填
- 6-10SWITCH语句的翻译
- 6-11过程调用语句的翻译
- 7-1运行存储分配概述
- 7-2静态存储分配
- 7-3栈式存储分配
- 7-4调用序列和返回序列
- 7-5非局部数据的访问
- 7-6符号表
- 7-7符号表建立
- 8-1流图
- 8-2常用代码优化方法一
- 8-3常用代码优化方案二
- 8-4基本快的优化
- 8-5数据流分析
- 8-6到达定值分析
- 8-7到达定值方程的计算
- 8-8活跃变量分析
- 8-9可用表达式分析
- 8-10支配结点和回边
- 8-11自然循环及其识别
- 8-12删除全局工工资表达式和赋值语句
- 8-13代码移动
- 8-14作用于归纳变量的强度削弱
- 8-15归纳变量的删除
- 9-1代码生成器的主要任务
- 9-2一个简单的目标机模型
- 9-3指令选择
- 9-4寄存器的选择
- 9-5寄存器选择函数getReg的设计
- 9-6窥孔优化
编译原理课程设计是编译原理课程的重要组成部分,属于学科基础实验范畴。作为与相关教学内容配合的实践性教学环节,应在编译原理理论课教学过程中开设。
世界著名的计算机科学家Alfred V.Aho在他的经典著作《编译器》的第1章第1句话写道:“编写编译器的原理和技术具有十分普遍的意义,以至于在每个计算机科学家的研究生涯中,本课程中的原理和技术都会反复用到。”这句话点明了编译原理这门课程在计算机专业中的重要地位。
本课程共计20讲。
第1讲 绪论
第2讲 程序设计语言及其文法
第3讲 词法分析
第4讲 语法分析_1
第5讲 语法分析_2
第6讲 语法分析_3
第7讲 语法分析_4
第8讲 语法制导翻译_1
第9讲 语法制导翻译_2
第10讲 语法制导翻译_3
第11讲 中间代码生成_1
第12讲 中间代码生成_2
第13讲 中间代码生成_3
第14讲 中间代码生成_4
第15讲 运行存储分配
第16讲 代码优化_1
第17讲 代码优化_2
第18讲 代码优化_3
第19讲 代码优化_4
第20讲 代码生成