编译技术
编译技术
1000+ 人选课
更新日期:2025/06/04
开课时间2024/09/01 - 2024/12/05
课程周期14 周
开课状态已结课
每周学时-
课程简介

各位同学,大家好:

感谢大家选择《编译技术》慕课课程,希望这门课程能够对大家有所帮助。


编译技术是计算机的核心技术之一。“编译技术”作为软件工程专业的核心课程,旨在对介绍编译器构造的一般原理和基本实现方法。本课程强调对编译原理和技术的宏观理解。通过课程讲解,使学生掌握文法与语言、词法分析、语法分析、语义分析、优化与目标代码的生成等基础理论知识。

课程大纲
绪论
本章的主要视频及课件资源列表如下(1学时):
1 课程简介
习题:
编译器概述
词法分析
本章的主要视频及课件资源列表如下(5学时):
2.1 词法记号
2.2 正规式
2.3 有限自动机
2.4 DFA构建
2.5 Lex
习题:
词法分析器的功能
正规式与语言的对应关系
NFA与DFA的概念
语法分析
本章的主要视频及课件资源列表如下(15学时):
3.1.1 自上而下分析(上)语法分析
3.1.2 自上而下分析(下)提取左因子
3.2 first和follow
3.3 LL1
3.4.1 预测分析器(上)递归下降分析
3.4.2 预测分析器(下)非递归下降分析
3.5 语言和文法
3.6 归约句柄
3.7 移进归约分析过程
3.8 LR分析器
3.9 活前缀
3.10 SLR
3.11 LR
3.12 LALR
3.13 LR分析方法特点
3.14 非二义且非LR的上下文无关文法
习题:
上下文无关文法定义
二义性概念
形式语言鸟瞰
句柄概念
Yacc的相关概念
语法制导的翻译
本章的主要视频及课件资源列表如下(8学时):
4.1 属性文法
4.2 属性依赖图和计算次序
4.3 S属性的自下而上计算
4.4 栈代码
4.5 L属性定义
4.6 翻译方案
4.7 预测翻译器的设计
4.8 L属性的自下而上计算
4.9 模拟继承属性的计算
习题:
继承属性、综合属性的概念
S属性定义的概念
注释分析树
L属性定义的概念
L属性定义的自下而上计算中辅助非终结符引入的目的
运行时存储空间的组织和管理
本章的主要视频及课件资源列表如下(4学时):
5.1 概述
5.2 全局栈式存储
5.3 调用序列
5.4 非局部名字
习题:
衬垫区、对齐的概念
静态作用域、嵌套深度的概念
中间代码生成
本章的主要视频及课件资源列表如下(2学时):
6.1 中间代码生成概述
6.2 声明语句
代码生成
本章的主要视频及课件资源列表如下(2学时):
7.1 代码生成器的设计中的问题
7.2 目标机器
7.3 基本块和流图
7.4 一个简单的代码生成器
一个简易的编译器设计与实现
本章的主要视频及课件资源列表如下(2学时):
8.1 Scanner
8.2 Parser -1LRItem
8.3 Parser-2ActionGoto
8.4 SA
8.5 SimpleJava