Skip to content

语义分析与中间代码生成

本课程由南京大学计算机学院冯洋老师及其团队主讲,聚焦编译器核心环节 —— 语义分析,系统衔接理论与工业实践。课程先围绕语法制导定义(SDD)与语法制导翻译(SDT)展开,解析抽象语法树(AST)构建、属性计算逻辑,区分综合属性与继承属性,讲解依赖图与无环计算保障,还引入逆波兰表达式等中间代码生成基础,夯实理论框架。

课程重点覆盖类型检查实践,以 SysY 语言为案例,明确 11 类语义错误检测标准,指导用 Rust 实现语义分析器,包括设计枚举与结构体表示数据类型、构建符号表管理作用域与标识符信息,通过 Visitor 模式遍历语法树完成错误检查。

此外,课程深入剖析 Javac、GCC、Rustc 三款工业级编译器的语义分析模块,对比不同编译器的处理流程、数据结构与关键机制,帮助学习者理解理论在工程中的落地应用,为掌握编译器开发核心能力奠定基础。

视频讲解

00:00 / 00:00

课件

/ 1
/ 1