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