首页
›
AI算力与GPU工程
›
010-编译器适配
›
《AI模型编译器开发与部署实战》
VIP20
本课程属于:010-编译器适配
AI算力与GPU工程 · 共 20 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
编译器从零到一 · 实战课程
📚 共计 30 章节
第01章
编译器概述
什么是编译器?编译器与解释器的区别、编译器的历史、基本工作流程(词法分析、语法分析、语义分析、中间代码生成、优化、目标代码生成)。
入门
核心概念
第02章
开发环境搭建
选择开发语言(C/C++/Rust/Go)、安装编译器工具链(GCC/LLVM)、配置IDE(VS Code/CLion)、版本控制(Git)、构建工具(CMake/Makefile)。
工具
环境
第03章
词法分析基础
词法分析的作用、词法单元(Token)的定义、正则表达式基础、有限自动机(DFA/NFA)概念、手工编写词法分析器。
词法
自动机
第04章
正则表达式与自动机
正则表达式到NFA的转换(Thompson构造法)、NFA到DFA的转换(子集构造法)、DFA的最小化、词法分析器生成工具(Lex/Flex)。
理论
Lex
第05章
实现词法分析器
Token类型定义、关键字与标识符识别、数字与字符串字面量处理、注释与空白跳过、错误恢复机制、符号表初步。
编码
实战
第06章
语法分析概述
语法分析的作用、上下文无关文法(CFG)、推导与归约、最左推导与最右推导、语法分析树的构建、二义性文法的处理。
语法
CFG
第07章
自顶向下语法分析
递归下降分析法、LL(1)文法、FIRST集与FOLLOW集的计算、预测分析表的构建、递归下降分析器的实现。
LL(1)
递归下降
第08章
自底向上语法分析
LR(0)文法、SLR(1)文法、LR(1)文法、LALR(1)文法、移进-归约冲突与归约-归约冲突、LR分析表的构建。
LR
LALR
第09章
语法分析器生成工具
Yacc/Bison的使用、语法规则定义、结合词法分析器、错误处理与恢复、生成可执行分析器。
Yacc
Bison
第10章
实现语法分析器
表达式文法设计、递归下降分析器实现、抽象语法树(AST)的定义、AST的构建与遍历、语法错误报告。
AST
实现
第11章
语义分析基础
语义分析的作用、属性文法、综合属性与继承属性、语法制导翻译、类型系统概述、类型检查。
语义
属性文法
第12章
符号表管理
符号表的作用、符号表的数据结构(哈希表/树)、作用域管理(全局/局部)、符号的插入与查找、符号表的实现。
符号表
作用域
第13章
类型检查
基本类型与复合类型、类型等价(结构等价/名等价)、类型推断、类型转换(隐式/显式)、类型错误报告。
类型系统
检查
第14章
中间代码生成
三地址码(TAC)、四元式与三元式、控制流语句的翻译(if-else/while/for)、函数调用的翻译、中间代码的表示。
TAC
中间表示
第15章
抽象语法树到中间代码
AST遍历生成TAC、表达式的翻译、赋值语句的翻译、数组与结构体访问的翻译、临时变量的管理。
AST
代码生成
第16章
中间代码优化概述
优化的分类(机器无关/机器相关)、基本块与流图、数据流分析基础、常用优化技术概览(常量折叠/死代码消除/公共子表达式消除)。
优化
数据流
第17章
局部优化
基本块内的优化、常量传播与常量折叠、复写传播、死代码消除、代数化简、局部优化的实现。
局部
基本块
第18章
全局优化
数据流分析框架、到达定值分析、活跃变量分析、可用表达式分析、全局公共子表达式消除、循环优化(循环不变式外提/强度削弱)。
全局
循环优化
第19章
寄存器分配
寄存器分配问题、图着色算法、溢出处理、寄存器分配与指令调度的交互、线性扫描寄存器分配。
寄存器
图着色
第20章
目标代码生成
指令选择(树覆盖/模式匹配)、指令调度(流水线优化)、目标机器模型、x86-64指令集基础、ARM指令集基础。
指令选择
x86-64
第21章
x86-64代码生成
寄存器约定(调用者保存/被调用者保存)、函数调用约定(System V AMD64 ABI)、栈帧管理、简单表达式的代码生成。
ABI
x86-64
第22章
控制流语句的代码生成
条件分支的代码生成、循环的代码生成、switch语句的代码生成、函数调用与返回的代码生成。
控制流
分支
第23章
运行时环境
内存布局(代码段/数据段/堆/栈)、静态分配与动态分配、栈帧结构、堆管理(malloc/free)、垃圾回收基础。
运行时
内存
第24章
函数调用与返回
调用约定详解、参数传递(寄存器/栈)、返回值处理、尾调用优化、嵌套函数的实现。
调用约定
尾调用
第25章
面向对象特性的编译
类的布局(虚表/成员变量)、方法调用(静态/动态/虚函数)、继承与多态的实现、接口与抽象类的处理。
OOP
虚表
第26章
异常处理的编译
异常处理机制(try-catch-finally)、栈展开、异常表、零成本异常处理模型、setjmp/longjmp。
异常
栈展开
第27章
链接与加载
静态链接与动态链接、符号解析与重定位、共享库(.so/.dll)、加载器的工作流程、地址空间布局随机化(ASLR)。
链接
加载
第28章
编译器优化实战
使用LLVM Pass框架编写优化、中间表示(IR)操作、编写自定义优化Pass、优化Pass的注册与运行。
LLVM
Pass
第29章
完整编译器项目实战(上)
设计一门简单语言(MiniC/教学语言)、实现词法分析器与语法分析器、构建AST、实现语义分析。
项目
MiniC
第30章
完整编译器项目实战(下)
实现中间代码生成、实现代码优化、实现目标代码生成、测试与调试、性能分析、课程总结与展望。
项目
完结
所属VIP或分类
同VIP:AI推理性能瓶颈诊断与优化实战
同VIP:AI模型编译器选型、评测与迁移实战
同VIP:AI编译器访存优化与内存墙突破实战