首页
›
热销单品
›
软件编程与计算机基础
›
《编译原理实战:自制编译器》
所属分类:软件编程与计算机基础
当前为单品课程,可返回上一级继续浏览同方向资料。
← 返回上一级
← 返回所属目录
咨询 / 购买
📘
编译原理实战:自制编译器
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
课程导入
编译器的定义 · 作用 · 整体架构(前端
课程导入
编译器的定义
02
词法分析基础
正则表达式 · 有限自动机(NFA/DFA) · 词法单元()的定义与分类
词法分析基础
正则表达式
03
词法分析实战
使用Python或C语言实现一个简单… · 处理关键字 · 标识符
词法分析实战
Python
04
语法分析基础
上下文无关文法(CFG) · 推导与归约 · 语法树(AST)的概念
语法分析基础
CFG
05
递归下降解析
递归下降法的原理 · 实现步骤 · 如何处理左递归和回溯
递归下降解析
递归下降法的原理
06
语法分析实战
实现一个支持四则运算 · 括号和变量的语法分析器 · 生成AST并打印树结构
语法分析实战
实现一个支持四则…
07
LL(1)文法与预测分析
FIRST集 · FOLLOW集的计算 · LL(1)文法的判定
LL
1
08
LR分析基础
LR(0) · SLR(1) · LR(1)和LALR(1)文法的概念
LR
分析基础
09
语法分析器生成器
使用Yacc/Bison或ANTLR… · 通过文法描述自动生成语法分析器 · 并集成词法分析器
语法分析器生成器
Yacc/Bison
10
语义分析基础
符号表的设计与管理 · 作用域规则 · 类型检查的基本方法
语义分析基础
符号表的设计
11
类型系统与类型检查
静态类型与动态类型 · 类型等价与类型推断 · 实现一个简单的类型检查器
类型系统
类型检查
12
中间代码生成
三地址码 · 四元式 · SSA形式等中间表示
间代码生成
三地址码
13
中间代码生成实战
将表达式和语句翻译为三地址码 · 处理控制流(if · while
间代码生成实战
将表达式
14
运行时环境
栈帧布局 · 活动记录 · 参数传递方式(值传递
运行时环境
栈帧布局
15
代码优化基础
优化分类(局部优化 · 全局优化 · 循环优化)
代码优化基础
优化分类
16
数据流分析
基本块与控制流图 · 到达定值 · 活跃变量
数据流分析
基本块
17
循环优化
循环不变量外提 · 强度削减 · 循环展开等优化技术
循环优化
循环不变量外提
18
目标代码生成
指令选择 · 寄存器分配 · 指令调度
目标代码生成
指令选择
19
寄存器分配
图着色算法 · 线性扫描算法 · 以及溢出处理
寄存器分配
图着色算法
20
汇编与链接
汇编语言基础 · 目标文件格式(ELF/PE) · 链接器的作用
汇编
链接
21
完整编译器实战(一)
设计一个迷你语言(如类C语言) · 定义语法和语义 · 搭建项目结构
完整编译器实战
设计一个迷你语言
22
完整编译器实战(二)
实现语义分析和中间代码生成 · 构建符号表和类型检查器 · 输出三地址码
完整编译器实战
实现语义分析
23
完整编译器实战(三)
实现代码优化和寄存器分配 · 生成x86或ARM汇编代码 · 并集成汇编器和链接器
完整编译器实战
实现代码优化
24
调试与测试
编译器测试策略(单元测试 · 集成测试 · 快照测试)
调试
测试
25
错误处理与恢复
词法 · 语法 · 语义错误的报告与恢复策略
错误处理
恢复
26
编译器前端工具链
使用Flex和Bison构建完整的词… · 处理复杂文法 · 并生成AST
编译器前端工具链
Flex
27
现代编译器架构
LLVM的架构与使用 · 通过LLVM IR生成和优化代码 · 以及JIT编译的基本原理
现代编译器架构
LLVM
28
常见问题与解决方案
左递归消除 · 运算符优先级处理 · 悬空else
常见问题
解决方案
29
性能优化与工程实践
编译器性能分析 · 内存管理 · 多线程与并行编译
性能优化
工程实践
30
综合项目与进阶方向
从零实现一个可运行的编译器(支持变量 · 函数 · 控制流)
综合项目
进阶方向
所属VIP或分类
同VIP:45天精通C++编程
同VIP:45天精通Rust编程
同VIP:AE自动曝光算法设计实战