首页
›
热销单品
›
软件编程与计算机基础
›
《自制编译器设计与实现》
所属分类:软件编程与计算机基础
当前为单品课程,可返回上一级继续浏览同方向资料。
← 返回上一级
← 返回所属目录
咨询 / 购买
📘
自制编译器设计与实现
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
课程导入
学习目标 · 编译器在计算机系统中的地位 · 课程整体框架与项目路线图
课程导入
学习目标
02
编译器概述
编译器的基本工作流程(词法分析 · 语法分析 · 语义分析
编译器概述
编译器的基本工作…
03
开发环境搭建
选择编程语言(如C · Rust · Python)
开发环境搭建
选择编程语言
04
词法分析基础
正则表达式 · 有限自动机(DFA/NFA) · 词法单元()的定义与分类
词法分析基础
正则表达式
05
词法分析器实现
手工编写词法分析器(状态机法)与使用… · lex)的对比 · 处理标识符
词法分析器实现
手工编写词法分析…
06
语法分析基础
上下文无关文法(CFG) · 产生式 · 终结符与非终结符
语法分析基础
CFG
07
递归下降分析法
递归下降解析器的原理 · 左递归消除 · 回溯与预测分析
递归下降分析法
递归下降解析器的…
08
LL(1)文法与预测分析表
FIRST集与FOLLOW集的计算 · LL(1)文法的判定 · 预测分析表的构建
LL
1
09
LR分析法基础
LR(0) · SLR(1) · LR(1)
LR
分析法基础
10
语法分析器生成器
使用Yacc/Bison或ANTLR… · 结合词法分析器构建完整的语法分析阶段
语法分析器生成器
Yacc/Bison
11
抽象语法树(AST)设计
AST节点的数据结构设计 · AST的构建方法(在语法分析中嵌入动… · AST的遍历与打印
AST
抽象语法树
12
符号表管理
符号表的作用 · 作用域与生命周期 · 符号表的数据结构(哈希表
符号表管理
符号表的作用
13
语义分析基础
类型系统 · 类型检查 · 类型推断
语义分析基础
类型系统
14
静态语义检查
变量未声明 · 类型不匹配 · 函数参数个数错误
静态语义检查
变量未声明
15
中间代码生成
三地址码 · 四元式 · SSA(静态单赋值)形式
间代码生成
三地址码
16
表达式与语句的翻译
算术表达式 · 布尔表达式 · 赋值语句
表达式
语句的翻译
17
函数与过程调用
函数定义的翻译 · 参数传递方式(值传递 · 引用传递)
函数
过程调用
18
运行时环境
内存布局(代码段 · 数据段 · 堆
运行时环境
内存布局
19
代码优化入门
优化的分类(局部优化 · 全局优化 · 循环优化)
代码优化入门
优化的分类
20
数据流分析基础
基本块与流图 · 到达定值 · 活跃变量分析
数据流分析基础
基本块
21
循环优化
循环不变式外提 · 强度削减 · 循环展开
循环优化
循环不变式外提
22
目标代码生成
目标机器模型 · 指令选择 · 寄存器分配(简单算法与图着色算法)
目标代码生成
目标机器模型
23
汇编与链接
生成汇编代码 · 汇编器的作用 · 目标文件格式(ELF
汇编
链接
24
完整编译器实战(一)
设计一门简单语言(如TinyC或Mi… · 定义其语法和语义 · 实现词法分析器和语法分析器
完整编译器实战
TinyC
25
完整编译器实战(二)
实现语义分析 · 符号表 · 类型检查
完整编译器实战
实现语义分析
26
完整编译器实战(三)
实现代码优化 · 目标代码生成 · 并编译运行一个示例程序
完整编译器实战
实现代码优化
27
常见问题与调试技巧
词法分析中的边界情况 · 语法分析中的冲突解决 · 语义分析中的错误恢复
常见问题
调试技巧
28
测试与验证
单元测试 · 集成测试 · 快照测试
测试
验证
29
扩展与进阶
支持面向对象特性(类 · 继承 · 多态)
扩展
进阶
30
综合提升与项目总结
课程项目展示 · 性能优化与代码质量 · 编译器设计模式
综合提升
项目总结
所属VIP或分类
同VIP:45天精通C++编程
同VIP:45天精通Rust编程
同VIP:AE自动曝光算法设计实战