主题
编译原理之美
共 46 讲。
目录
- 编译原理之美
- 开篇词 - 为什么你要学习编译原理?
- 01 - 理解代码:编译器的前端技术
- 02 - 正则文法和有限自动机:纯手工打造词法分析器
- 03 - 语法分析(一):纯手工打造公式计算器
- 04 - 语法分析(二):解决二元表达式中的难点
- 05 - 语法分析(三):实现一门简单的脚本语言
- 06 - 编译器前端工具(一):用Antlr生成词法、语法分析器
- 07 - 编译器前端工具(二):用Antlr重构脚本语言
- 08 - 作用域和生存期:实现块作用域和函数
- 09 - 面向对象:实现数据和方法的封装
- 10 - 闭包: 理解了原理,它就不反直觉了
- 11 - 语义分析(上):如何建立一个完善的类型系统?
- 12 - 语义分析(下):如何做上下文相关情况的处理?
- 13 - 继承和多态:面向对象运行期的动态特性
- 14 - 前端技术应用(一):如何透明地支持数据库分库分表?
- 15 - 前端技术应用(二):如何设计一个报表工具?
- 16 - NFA和DFA:如何自己实现一个正则表达式工具?
- 17 - First和Follow集合:用LL算法推演一个实例
- 18 - 移进和规约:用LR算法推演一个实例
- 19 - 案例总结与热点问题答疑:对于左递归的语法,为什么我的推导不是左递归的?
- 用户故事 - 因为热爱,所以坚持
- 期中考试 - 来赴一场100分的约定吧!
- 20 - 高效运行:编译器的后端技术
- 21 - 运行时机制:突破现象看本质,透过语法看运行时
- 22 - 生成汇编代码(一):汇编语言其实不难学
- 加餐 - 汇编代码编程与栈帧管理
- 23 - 生成汇编代码(二):把脚本编译成可执行文件
- 24 - 中间代码:兼容不同的语言和硬件
- 25 - 后端技术的重用:LLVM不仅仅让你高效
- 26 - 生成IR:实现静态编译的语言
- 27 - 代码优化:为什么你的代码比他的更高效?
- 28 - 数据流分析:你写的程序,它更懂
- 29 - 目标代码的生成和优化(一):如何适应各种硬件架构?
- 30 - 目标代码的生成和优化(二):如何适应各种硬件架构?
- 31 - 内存计算:对海量数据做计算,到底可以有多快?
- 32 - 字节码生成:为什么Spring技术很强大?
- 33 - 垃圾收集:能否不停下整个世界?
- 34 - 运行时优化:即时编译的原理和作用
- 35 - 案例总结与热点问题答疑:后端部分真的比前端部分难吗?
- 36 - 当前技术的发展趋势以及其对编译技术的影响
- 37 - 云编程:云计算会如何改变编程模式?
- 38 - 元编程:一边写程序,一边写语言
- 结束语 - 用程序语言,推动这个世界的演化
- 第二季回归 - 这次,我们一起实战解析真实世界的编译器
- 结课测试 - 编译原理的这些知识,你都掌握了吗?