本课程首先介绍了编译原理相关的基本理论。然后重点讲述了编译器中的各个模块,包括:词法分析,语法分析,语法制导翻译等。课程注重理论与实践的结合,运用大量实际案例辅助教学。
课程主页: https://www.yuque.com/docs/share/20b59996-3dd3-4dd1-a751-fdbb9b8510e7?#
实验课主页:https://www.yuque.com/docs/share/6514eb7c-89d0-4e11-b68c-45cdbd45bddc?#
本课程的目标是使学生掌握构造编译器的基本原理,熟练掌握包括:词法分析、语法分析、语法制导翻译在内的编译技术。
1 绪论
1.1 编译原理概述
1.2 编译器的基本结构
1.3 编译器各阶段的主要任务
1.4 简单表达式编译器的分析
第1次单元测验
第1次单元作业
第2次单元作业
第2次单元测验
2 词法分析
2.1.1 词法分析简述
2.1.2 串和语言
2.1.3 正则表达式
2.1.4 状态转换图
2.1.5 有限自动机
2.2.1 基于MYT算法从正则表达式到NFA
2.2.2 从NFA到DFA的转换
2.2.3 DFA的化简
2.2.2-2.2.3单元作业
2.1.1-2.1.2单元测验
2.1.1-2.1.2单元作业
2.1.3-2.1.5单元测验
2.1.3-2.1.5单元作业
2.2.1单元作业
3 语法分析
3.1 语法分析简介
3.2.1 递归下降的预测分析
3.2.2 非递归的预测分析
3.3.1 LR分析方法
3.3.2 构造SLR分析表
3.3.3 构造规范LR分析表
3.3.4 构造LALR分析表
3.1单元测验
3.2单元练习
4 语法制导翻译
4.1 语法制导的定义
4.2 S属性定义的自下而上计算
4.3 L属性定义的自上而下计算
本课程面上高年级计算机相关专业的本科生,需要提前学习1~2门程序设计语言。
赵建华等译. 编译原理(龙书)——教材
陈意云等编. 编译原理(第3版)——参考书
陈意云, 张昱. 编译原理(第3版)习题精选与解析 ——习题集推荐
陈儒著. Python源码解析
青木峰郎著. 自制编译器
张秀宏著. 自己动手实现Lua
千叶滋著. 两周自制脚本语言