1 第一部分 编译原理基础 #
mindmap
id1[第一部分 编译原理基础]
id1-1[词法分析]
id1-2[正则表达式与有限自动机]
id1-3[词法分析器生成器 Lex/Flex]
id1-4[面向对象语言的特殊词法元素]
id1-5[标识符、关键字和运算符识别]
id1-6[语法分析]
id1-7[上下文无关文法]
id1-8[LL和LR分析算法]
id1-9[语法分析器生成器 Yacc/Bison]
id1-10[面向对象语言的语法结构分析]
id1-11[语义分析]
id1-12[符号表管理]
id1-13[类型检查系统]
id1-14[作用域和可见性规则]
id1-15[语义错误检测与恢复]
词法分析
正则表达式与有限自动机
词法分析器生成器 Lex/Flex
面向对象语言的特殊词法元素
标识符、关键字和运算符识别
语法分析
上下文无关文法
LL和LR分析算法
语法分析器生成器 Yacc/Bison
面向对象语言的语法结构分析
语义分析
符号表管理
类型检查系统
作用域和可见性规则
语义错误检测与恢复
2 第二部分 面向对象语言特性编译 #
类与对象
类的内存布局与对象表示
构造函数与析构函数编译
成员变量访问控制实现
静态成员处理机制
继承与多态
单继承与多继承实现
虚函数表 vtable 机制
动态绑定与运行时类型识别
接口与抽象类的编译处理
方法调用
静态方法调用优化
虚方法调用分派
方法重载解析算法
this指针传递机制
异常处理
try-catch块编译实现
异常传播机制
栈展开与资源清理
异常处理表生成
mindmap
id2[第二部分 面向对象语言特性编译]
id2-1[类与对象]
id2-2[类的内存布局与对象表示]
id2-3[构造函数与析构函数编译]
id2-4[成员变量访问控制实现]
id2-5[静态成员处理机制]
id2-6[继承与多态]
id2-7[单继承与多继承实现]
id2-8[虚函数表 vtable 机制]
id2-9[动态绑定与运行时类型识别]
id2-10[接口与抽象类的编译处理]
id2-11[方法调用]
id2-12[静态方法调用优化]
id2-13[虚方法调用分派]
id2-14[方法重载解析算法]
id2-15[this指针传递机制]
id2-16[异常处理]
id2-17[try-catch块编译实现]
id2-18[异常传播机制]
id2-19[栈展开与资源清理]
id2-20[异常处理表生成]
3 第三部分 中间代码生成与优化 #
mindmap
id3[第三部分 中间代码生成与优化]
id3-1[中间表示]
id3-2[地址码与四元式]
id3-3[抽象语法树 AST]
id3-4[控制流图 CFG 构建]
id3-5[面向对象特性的中间表示]
id3-6[代码优化技术]
id3-7[常量传播与折叠]
id3-8[死代码消除]
id3-9[内联优化策略]
id3-10[虚函数调用优化]
id3-11[内存管理编译]
id3-12[对象分配与回收]
id3-13[垃圾收集器接口]
id3-14[智能指针实现]
id3-15[内存泄漏检测]
中间表示
地址码与四元式
抽象语法树 AST
控制流图 CFG 构建
面向对象特性的中间表示
代码优化技术
常量传播与折叠
死代码消除
内联优化策略
虚函数调用优化
内存管理编译
对象分配与回收
垃圾收集器接口
智能指针实现
内存泄漏检测
4 第四部分 目标代码生成 #
寄存器分配
图着色寄存器分配算法
线性扫描寄存器分配
特殊寄存器使用约定
面向对象特性的寄存器分配策略
指令选择与调度
基于树模式匹配的指令选择
指令调度算法
流水线优化技术
特殊指令生成 如虚函数调用
运行时环境
栈帧布局与管理
堆管理机制
运行时类型信息 RTTI
动态链接库支持
mindmap
id4[第四部分 目标代码生成]
id4-1[寄存器分配]
id4-2[图着色寄存器分配算法]
id4-3[线性扫描寄存器分配]
id4-4[特殊寄存器使用约定]
id4-5[面向对象特性的寄存器分配策略]
id4-6[指令选择与调度]
id4-7[基于树模式匹配的指令选择]
id4-8[指令调度算法]
id4-9[流水线优化技术]
id4-10[特殊指令生成 如虚函数调用]
id4-11[运行时环境]
id4-12[栈帧布局与管理]
id4-13[堆管理机制]
id4-14[运行时类型信息 RTTI]
id4-15[动态链接库支持]
5 第五部分 高级编译技术 #
mindmap
id5[第五部分 高级编译技术]
id5-1[泛型编程编译]
id5-2[模板实例化机制]
id5-3[类型擦除技术]
id5-4[泛型方法编译]
id5-5[特化与偏特化处理]
id5-6[反射与元编程]
id5-7[反射机制实现]
id5-8[注解处理]
id5-9[运行时类信息生成]
id5-10[动态代理编译]
id5-11[并发编程编译]
id5-12[同步机制实现]
id5-13[线程局部存储]
id5-14[原子操作编译]
id5-15[内存模型保证]
泛型编程编译
模板实例化机制
类型擦除技术
泛型方法编译
特化与偏特化处理
反射与元编程
反射机制实现
注解处理
运行时类信息生成
动态代理编译
并发编程编译
同步机制实现
线程局部存储
原子操作编译
内存模型保证
6 第六部分 实际编译器实现 #
主流编译器分析
Java编译器 javac 实现
C++编译器 gcc/clang 特性
C#编译器架构
Swift编译器设计
性能优化实践
即时编译 JIT 技术
提前编译 AOT 优化
剖析指导优化 PGO
热点代码检测与优化
调试与测试
调试信息生成 DWARF/PDB
编译器测试框架
性能分析工具集成
错误诊断与报告
mindmap
id6[第六部分 实际编译器实现]
id6-1[主流编译器分析]
id6-2[Java编译器 javac 实现]
id6-3[C++编译器 gcc/clang 特性]
id6-4[C#编译器架构]
id6-5[Swift编译器设计]
id6-6[性能优化实践]
id6-7[即时编译 JIT 技术]
id6-8[提前编译 AOT 优化]
id6-9[剖析指导优化 PGO]
id6-10[热点代码检测与优化]
id6-11[调试与测试]
id6-12[调试信息生成 DWARF/PDB]
id6-13[编译器测试框架]
id6-14[性能分析工具集成]
id6-15[错误诊断与报告]